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

时间:2011-09-17 02:22:39

标签: python

  

可能重复:
  Getting list of parameters inside python function

E.g。假设我有

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

如何让foo告诉我它需要参数'a'和参数'b',它的'B'是默认值?

1 个答案:

答案 0 :(得分:4)

使用inspect.getargspec

def foo(a, b='B'): pass

import inspect
print inspect.getargspec(foo)

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

修改:链接的副本很好,答案显示您可以使用inspectfunc.func_code.co_varnamesfunc.func_defaults获取func.__defaults__的相同信息。