Существуют ли соглашения для комментариев модуля Python?

Насколько я понимаю, модуль docstring должен просто предоставить общее описание того, что делает модуль, и детали, такие как автор и версия, должны содержаться только в комментариях модуля.

Однако, я видел следующее в комментариях и docstrings:

__author__ = "..."
__version__ = "..."
__date__ = "..."

Где правильное место для размещения таких предметов? Какие другие переменные __[name]__ являются общими для списка в верхней части модулей?

Ответы

Ответ 1

Это просто конвенции, хотя и довольно широко используемые соглашения. См. это описание набора требований метаданных Python.

__version__ упоминается в Руководство по стилю Python.

Что касается docstrings, там PEP только для вас!

Докшлинк для модуля должен обычно перечисляют классы, исключения и функции (и любые другие объекты) которые экспортируются модулем, с однострочное резюме каждого. (Эти резюме обычно дают меньше деталей чем сводная строка в объекте docstring.) Докшрин для пакета (то есть, докшрин пакет init.py) должен также перечислять модули и подпакеты экспортируется пакетом.

Ответ 2

Вы могли бы взглянуть на:

Ответ 3

Я бы посоветовал не беспокоиться о __author__, __version__ и т.д. Эти атрибуты все равно обрабатываются любой системой управления версиями. Добавляйте их только в том случае, если вам нужна эта информация в производственной системе, где исходный код уже экспортирован из системы управления версиями.