首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列出所有函数参数名称(无docu)

列出所有函数参数名称(无docu)
EN

Stack Overflow用户
提问于 2013-07-01 02:04:43
回答 2查看 124关注 0票数 0

我是Python的相对初学者,我正在尝试使用它来运行一些没有很好文档的代码。我的问题是,例如,我如何使用交互式shell获取函数或类构造函数的可能参数列表。理想情况下,我希望有像dir()这样的东西,但它不应该列出类成员,而应该列出函数的可能参数名称。

如果不可能,有没有其他方法可以在不查看代码的情况下推断函数参数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-01 02:18:35

你想要inspect.getargspec

代码语言:javascript
复制
>>> import inspect
>>> def foo(bar, baz):
...     pass
... 
>>> inspect.getargspec(foo)
ArgSpec(args=['bar', 'baz'], varargs=None, keywords=None, defaults=None)
票数 1
EN

Stack Overflow用户

发布于 2013-07-01 02:06:44

使用help(function_object)为您格式化它所知道的有关给定函数的所有内容。

您还可以使用inspect.getargspec() function来获取所接受参数的命名元组概述。您可以将该函数的结果传递给inspect.formatargspec(),以将其格式化为python函数:

代码语言:javascript
复制
>>> from inspect import getargspec, formatargspec
>>> def demo(foo, bar, eggs='ham'): pass
... 
>>> getargspec(demo)
ArgSpec(args=['foo', 'bar', 'eggs'], varargs=None, keywords=None, defaults=('ham',))
>>> formatargspec(*getargspec(demo))
"(foo, bar, eggs='ham')"

对于上面的示例函数,help(demo)输出:

代码语言:javascript
复制
Help on function demo in module __main__:

demo(foo, bar, eggs='ham')
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17393297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档