2010-09-03 56 views
15

这是我的理解,一个模块docstring应该只是提供一个模块的一般描述和作者和版本的细节应该只包含在模块的评论。Python模块注释是否有约定?

不过,我已经看到了以下的评论文档字符串:

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

哪里放物品,如这些正确的位置?其他__[name]__变量是常见的列表模块的顶部?

回答

8

他们仅仅是惯例,虽然相当广泛使用的约定。请参阅一组Python元数据要求中的this description

__version__Python Style Guide中被提及。

关于docstrings,有PEP just for you

用于模块的文档字符串应该 通常列出类,异常 和功能(以及任何其他对象) 由模块导出,与 每个的一行摘要。 (这些 摘要通常得到较少的细节 比在对象的 文档字符串的概要线。)用于 包中的文档字符串(即, 包的初始化的.py模块的文档字符串)应该 还列出模块和子包由包导出的 。

3

我建议不要担心__author__,__version__等。这些属性由任何体面的版本控制系统处理。只有在需要在生产系统上拥有该信息的情况下才能添加它们,而源代码已经从版本控制系统中导出。

+1

但PEP 8说: 如果您必须在您的源文件中包含Subversion,CVS或RCS crud,请按照以下步骤操作。 __version__ =“$ Revision:84354 $” #$源$ 这些行应该包含在模块的文档字符串之后,在任何其他代码之前,由上面和下面的空行分隔。 – 2010-09-03 13:15:31

5

你可以看看:

+0

AA!你刚才窃取我的答案! :) – 2010-09-03 13:11:46