python - 以编程方式获取 python 函数参数的描述
问题描述
假设我有以下功能:
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'>})
无论如何我可以以编程方式获取这些参数的描述吗?看起来不可能,但只是确保。看起来这是指定 types的 PyCharm 方式。
解决方案
您可以安装和使用docstring_parser
:
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)
这输出:
first First name
last Last name
Fullname
推荐阅读
- ruby-on-rails - 通过 Rails 查询 PostGIS 时出现间歇性错误(字符串插值失败?)
- .net - 。网。发送 put 请求时 Guid null
- r - 带有线和直方图的 Facet Wrap 中的第二个 Y 轴 (Tidyverse)
- functional-programming - 具有不同类型索引的互归纳描述?
- google-bigquery - BigQuery,按周求和
- emacs - emacs中的`Ctrl-x`可以改成`Ctrl-w`吗?
- joomla - 第二组字段不显示表格结果
- javascript - 为什么它会这样工作?
- selenium - Selenium XPath 多选
- java - 如何打印出三叉树?