什么是Python文件的常见标题格式?

我在关于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 ,在Peter的回答中已经解释过了。

我如何组织我的模块(源文件)? (归档)

每个文件的第一行应该是#!/usr/bin/env python 这使得可以将文件作为隐式地调用解释器的脚本来运行,例如在CGI上下文中。

接下来应该是带有说明的文档字符串。 如果描述很长,那么第一行应该是一个简短的摘要,它本身是有意义的,通过换行符与其余部分分开。

所有代码,包括import语句,都应该遵循文档字符串。 否则,解释器将无法识别文档字符串,并且在交互式会话中(即通过obj.__doc__ )或者使用自动化工具生成文档时,您将无法访问它。

首先导入内置模块,然后导入第三方模块,然后对路径和您自己的模块进行任何更改。 尤其是,模块路径和名称的添加可能会迅速发生变化:将它们保存在一个地方会使它们更容易找到。

接下来应该是作者信息。 这些信息应该遵循以下格式:

__author__ = "Rob Knight, Gavin Huttley, and Peter Maxwell"
__copyright__ = "Copyright 2007, The Cogent Project"
__credits__ = ["Rob Knight", "Peter Maxwell", "Gavin Huttley",
                    "Matthew Wakefield"]
__license__ = "GPL"
__version__ = "1.0.1"
__maintainer__ = "Rob Knight"
__email__ = "rob@spot.colorado.edu"
__status__ = "Production"

状态通常应该是“原型”,“开发”或“生产”之一。 __maintainer__应该是修复bug并在导入时进行改进的人员。 __credits__不同于__author____credits__包括谁报告bug修复,提出建议等,但实际上并没有写代码的人。

这里有更多信息,列出__author__ __authors____contact__ __copyright__ __license____deprecated____date__ __version__ __author____authors__ __contact__ __copyright____license__ __deprecated____date____version__作为可识别的元数据。


我强烈支持最小文件头,我的意思是:

  • hashbang( #!行),如果这是一个可执行的脚本
  • 模块文档字符串
  • 进口,按航海家的答案中所述进行分组。
  • 其他一切都是浪费时间,视觉空间,并且是积极的误导。

    如果您拥有合法的免责声明或许可信息,它将进入单独的文件。 它不需要感染每个源代码文件。 你的版权应该是这个的一部分。 人们应该能够在你的LICENSE文件中找到它,而不是随机的源代码。

    元数据(如作者身份和日期)已由源代码管理员维护。 没有必要在文件本身中添加相同信息的较不详细,错误和过时的版本。

    我不相信每个人都需要在其所有源文件中加入任何其他数据。 您可能会有一些特殊的要求,但根据定义,这些内容仅适用于您。 他们在“为所有人推荐的一般标题”中没有地位。


    这是一个很好的开始:PEP 257,其中介绍了Docstrings,并链接到其他几个相关文档。

    链接地址: http://www.djcxy.com/p/31803.html

    上一篇: What is the common header format of Python files?

    下一篇: How to convert a string list into an integer in python