Я встретил следующий формат заголовка для исходных файлов Python в документе о правилах кодирования Python:
#!/usr/bin/env python
"""Foobar.py: Description of what foobar does."""
__author__ = "Barack Obama"
__copyright__ = "Copyright 2009, Planet Earth"
Это стандартный формат заголовков в мире Python? Какие еще поля / информацию я могу поместить в заголовок? Гуру Python делятся вашими рекомендациями для хороших заголовков исходного кода Python :-)
Ответы:
Это все метаданные для
Foobar
модуля.Первый - это
docstring
модуль, который уже объяснен в ответе Петра .Здесь у вас есть дополнительная информация, распечатка
__author__
,__authors__
,__contact__
,__copyright__
,__license__
,__deprecated__
,__date__
и__version__
признанные метаданные.источник
__version__
должен быть непосредственно после основной строки документации, с пустой строкой до и после. Кроме того, лучше всего определять свою кодировку сразу под шебангом -# -*- coding: utf-8 -*-
Я решительно поддерживаю минимальные заголовки файлов, под которыми я подразумеваю просто:
#!
строка), если это исполняемый скриптто есть. три группы импорта, с одной пустой строкой между ними. Внутри каждой группы импорт сортируется. Последняя группа, импорт из локального источника, может быть либо абсолютным импортом, как показано, либо явным относительным импортом.
Все остальное - пустая трата времени, визуального пространства и активно вводит в заблуждение.
Если у вас есть правовая оговорка или информация о лицензировании, она помещается в отдельный файл. Не нужно заражать каждый файл исходного кода. Ваше авторское право должно быть частью этого. Люди должны иметь возможность найти его в вашем
LICENSE
файле, а не в произвольном исходном коде.Метаданные, такие как авторство и даты, уже поддерживаются вашим источником контроля. Нет необходимости добавлять менее детальную, ошибочную и устаревшую версию той же информации в сам файл.
Я не верю, что есть какие-то другие данные, которые каждый должен поместить во все свои исходные файлы. У вас может быть какое-то конкретное требование сделать это, но такие вещи по определению применимы только к вам. Им не место в «общих заголовках, рекомендуемых для всех».
источник
__version__
метаданные, и я думаю, что это хорошо иметь, поскольку они должны быть доступны для программ и быстрой проверки в интерактивном интерпретаторе. Авторство и юридическая информация, однако, находятся в другом файле. Если у вас нетif 'Rob' in __author__:
Ответы выше действительно полны, но если вы хотите, чтобы быстрый и грязный заголовок копировался и вставлялся, используйте это:
Почему это хорошо:
Смотрите также: https://www.python.org/dev/peps/pep-0263/
Если вы просто напишите класс в каждом файле, вам даже не понадобится документация (она будет идти внутри класса doc).
источник
Также см. PEP 263, если вы используете не-ascii набор символов
источник