如何在Python中询问函数的参数名称?

How do I ask a function for the names of its parameters in Python?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Getting list of parameters inside python function

例如。 假设我有

1
def foo(a, b='B'): return

我怎么能要求foo告诉我它需要参数'a'和参数'b',它的'B'是默认值?


使用inspect.getargspec

1
2
3
4
def foo(a, b='B'): pass

import inspect
print inspect.getargspec(foo)

可能看起来不清楚默认的参数是什么,但由于非默认参数不能遵循默认参数,因此默认必须是第二个参数。

编辑:链接的副本很好,答案显示你可以使用func.func_code.co_varnamesfunc.func_defaultsfunc.__defaults__获得相同的信息而不用inspect