假设我具有以下功能:
def get_fullname(first: str, last: str = "Miller"):
"""
:param first: First name
:param last: Last name
:return: Fullname
"""
return f"{first} {last}"
我知道我可以使用inspect
模块来获得有关该函数的大量信息:
import inspect
spec = inspect.getfullargspec(get_fullname)
print(spec)
# FullArgSpec(args=['first', 'last'], varargs=None, varkw=None, defaults=('Miller',), kwonlyargs=[], kwonlydefaults=None, annotations={'first': <class 'str'>, 'last': <class 'str'>})
无论如何,我可以通过编程方式获得这些参数的描述吗?看起来不可能,但只需确保即可。看起来这是specifying types的PyCharm方法。
答案 0 :(得分:2)
您可以安装和使用docstring_parser
:
localhost: string(115)
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 <b>Safari/537.36</b>"
server: string(115)
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 <b>Safari/CA4C4F</b>"
这将输出:
import docstring_parser
def get_fullname(first: str, last: str = "Miller"):
"""
:param first: First name
:param last: Last name
:return: Fullname
"""
return f"{first} {last}"
doc = docstring_parser.parse(get_fullname.__doc__)
for param in doc.params:
print(param.arg_name, param.description)
print(doc.returns.description)
答案 1 :(得分:0)
在函数和类之类的东西上也有内置的.__doc__
属性(无需安装额外的模块)。例如:
def get_fullname(first: str, last: str = "Miller"):
"""
:param first: First name
:param last: Last name
:return: Fullname
"""
return "{first} {last}"
print(get_fullname.__doc__)
收益:
:param first: First name
:param last: Last name
:return: Fullname
不确定这是否是您要查找的内容。这只是直接打印文档字符串,而不像@blhsing的答案那样解析它