您可以使用 NumpyDocString fromnumpydoc
将文档字符串解析为 Python 友好的结构。
这是如何使用它的示例:
from numpydoc.docscrape import NumpyDocString
class Photo():
"""
Array with associated photographic information.
Parameters
----------
x : type
Description of parameter `x`.
y
Description of parameter `y` (with type not specified)
Attributes
----------
exposure : float
Exposure in seconds.
Methods
-------
colorspace(c='rgb')
Represent the photo in the given colorspace.
gamma(n=1.0)
Change the photo's gamma exposure.
"""
def __init__(x, y):
print("Snap!")
doc = NumpyDocString(Photo.__doc__)
print(doc["Summary"])
print(doc["Parameters"])
print(doc["Attributes"])
print(doc["Methods"])
但是,由于我不明白的原因,这不适用于您提供的示例(也不是我想要运行的很多代码)。相反,您需要使用特定的FunctionDoc
或ClassDoc
类,具体取决于您的用例。
from numpydoc.docscrape import FunctionDoc
def foobar(a, b):
"""
Something something
Parameters
----------
a : int, default: 5
Does something cool
b : str
Wow
"""
doc = FunctionDoc(foobar)
print(doc["Parameters"])
通过查看他们源代码中的这个测试,我发现了这一切。因此,这并没有真正记录在案,但希望足以让您开始。