如何从Python中的函数引用中提取签名?

时间:2010-02-08 19:53:50

标签: python

假设我在Python中有一个函数:

def foo(x): pass

根据Python,'foo'单独是一个函数引用,对吗?

>>> def foo(x): pass
...
>>> foo
<function foo at 0xb7f3d1b4>

有什么办法可以检查函数引用来确定它所期望的参数数量吗?

1 个答案:

答案 0 :(得分:4)

在py3k中需要inspect.getfullargspec或在早期版本中需要inspect.getargspec

 >>> def foo(x): pass

>>> import inspect
>>> inspect.getfullargspec(foo)
FullArgSpec(args=['x'], varargs=None, varkw=None, defaults=None, kwonlyargs=[], kwonlydefaults=None, annotations={})