18.4.5 文档串
可以用getdoc()获取一个对象的docstring。返回值是__doc__属性,其中的tab被扩展为空格,并且其缩进保持一致。
import inspect
import example
print('B.__doc__:')
print(example.B.__doc__)
print()
print('getdoc(B):')
print(inspect.getdoc(example.B))
通过这个属性直接获取docstring的第二行时,它会缩进,不过getdoc()会把它移至左边界。
除了具体的docstring,还可以从实现对象的源文件获取注释(如果可以得到源文件)。getcomments()函数会查看对象的源文件,并查找实现代码前面的注释。
import inspect
import example
print(inspect.getcomments(example.B.do_something))
返回的行中包括注释前缀,这里会去除空白符前缀。
将一个模块传入getcomments()时,返回值总是模块中的第一个注释。
import inspect
import example
print(inspect.getcomments(example))
示例文件中邻接的行会作为一个注释,不过一旦出现一个空行,注释就会停止。