从类,函数,方法,模块打印docstring

时间:2016-02-18 15:08:09

标签: python python-2.7 python-3.x

文档字符串(docstring)就像一个注释;但以不同的方式使用。它用于提供任何类,功能,方法,模块等的简要信息。它不是强制性的,但对于源代码是强制性的。

Docstring为代码提供了更多的可读性和理解力。 从模块,函数,类或方法定义中打印文档字符串(docstring)。

class Test(object):
    ''' class documentation '''
    var = 5                             

    def __init__(self):
        ''' init(constructor) documentation '''
        self.var = 9                    

    def change(self):
        ''' change(self) '''
        self.var = 13
        print self.var

    def __del__(self):
        print "Destructor deleting object - ", self.var

cls = Test()

print Test.__doc__
print cls.__init__.__doc__
print cls.change.__doc__

print Test.var
print cls.var
cls.change()

def PrintDoc():
    """ inside PrintDoc """
    new = 12

print PrintDoc.__doc__

2 个答案:

答案 0 :(得分:4)

您可以打印模块的文档字符串:

"""This module does things"""


if __name__ == '__main__':
    print __doc__

或者只是拥有main功能:

def main():
    """What I do when ran as a script"""
    pass

if __name__ == '__main__':
    print main.__doc__
    main()

答案 1 :(得分:0)

所以,实际上你想要打印当前模块的docstring,对吗? docstring必须是文件中的第一个字符串。您不能像在代码示例中那样在if语句之后添加它 - 这不再是文档字符串。

但如果它位于文件的顶部,您可以简单地

print __doc__