我是Python的相对初学者,我正在尝试使用它来运行一些没有很好文档的代码。我的问题是,例如,我如何使用交互式shell获取函数或类构造函数的可能参数列表。理想情况下,我希望有像dir()这样的东西,但它不应该列出类成员,而应该列出函数的可能参数名称。
如果不可能,有没有其他方法可以在不查看代码的情况下推断函数参数?
发布于 2013-07-01 02:18:35
你想要inspect.getargspec
>>> import inspect
>>> def foo(bar, baz):
... pass
...
>>> inspect.getargspec(foo)
ArgSpec(args=['bar', 'baz'], varargs=None, keywords=None, defaults=None)发布于 2013-07-01 02:06:44
使用help(function_object)为您格式化它所知道的有关给定函数的所有内容。
您还可以使用inspect.getargspec() function来获取所接受参数的命名元组概述。您可以将该函数的结果传递给inspect.formatargspec(),以将其格式化为python函数:
>>> 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)输出:
Help on function demo in module __main__:
demo(foo, bar, eggs='ham')https://stackoverflow.com/questions/17393297
复制相似问题