在 python 模块文档字符串中放入什么?

发布于 2022-07-28 22:59:08

好的,所以我已经阅读了PEP 8PEP
257
,并且我已经为函数和类编写了很多文档字符串,但是我有点不确定模块文档字符串中应该包含什么。我想,至少,它应该记录模块导出的函数和类,但我也看到了一些列出作者姓名、版权信息等的模块。有没有人有一个好的
python 文档字符串应该如何的例子结构化?

关注者
0
被浏览
8
1 个回答
  • 面试哥
    面试哥 2022-07-28
    为面试而生,有面试问题,就找面试哥。

    想想有人help(yourmodule)在交互式口译员的提示下做什么——他们
    知道什么?(其他提取和显示信息的方法在信息量上大致相当于help)。所以如果你有x.py

    """This module does blah blah."""
    
    class Blah(object):
      """This class does blah blah."""
    

    然后:

    >>> import x; help(x)
    

    显示:

    Help on module x:
    
    NAME
        x - This module does blah blah.
    
    FILE
        /tmp/x.py
    
    CLASSES
        __builtin__.object
            Blah
    
        class Blah(__builtin__.object)
         |  This class does blah blah.
         |  
         |  Data and other attributes defined here:
         |  
         |  __dict__ = <dictproxy object>
         |      dictionary for instance variables (if defined)
         |  
         |  __weakref__ = <attribute '__weakref__' of 'Blah' objects>
         |      list of weak references to the object (if defined)
    

    如您所见,这些组件的文档字符串中已经包含了关于类(以及函数,虽然我没有在这里展示)的详细信息;模块自己的文档字符串应该非常概括地描述它们(如果有的话),而是专注于模块作为一个整体可以为您做什么的简明总结,最好是一些经过文档测试的示例(就像理想情况下函数和类应该在他们的文档字符串)。

    我看不到诸如作者姓名和版权/许可证之类的元数据如何帮助模块的用户——它可以在评论中出现,因为它可以帮助考虑是否重用或修改模块的人。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看