我是python的新手。只是尝试使用 doc 获取函数中定义的注释,但是会收到错误。
这是我的代码:
def nam(i):
"""passing the name to
a function"""
print('hello '+i+' good mornin')
这是错误:
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
print(nam._doc_)
AttributeError: 'function' object has no attribute '_doc_'
答案 0 :(得分:1)
将_doc_
(每边的单下划线)替换为__doc__
(双下划线)
为了说明,让我们定义您的功能并显示文档:
>>> def nam(i):
... """passing the name to
... a function"""
... print('hello '+i+' good mornin')
...
>>> nam.__doc__
'passing the name to\n a function'
上述方法有效。但是,下面的方法失败了:
>>> nam._doc_
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'function' object has no attribute '_doc_'
原因是__doc__
每侧需要两个下划线字符,而不仅仅是一个。
来自python online documentation:
docstring
字符串文字,显示为第一个表达式 在类,功能或模块中。虽然套件是被忽略的 执行后,它被编译器识别并放入__doc__
封闭类,函数或模块的属性。因为它是 通过内省提供,它是规范的地方 对象的文档。