Как извлечь подпись из ссылки на функцию в Python? - PullRequest
3 голосов
/ 08 февраля 2010

Допустим, у меня есть функция в Python, например:

def foo(x): pass

Согласно Python, только 'foo' является ссылкой на функцию, верно?

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

Можно ли как-нибудь проверить ссылку на функцию, чтобы определить количество ожидаемых аргументов?

1 Ответ

4 голосов
/ 08 февраля 2010

Вам нужно inspect.getfullargspec в py3k или inspect.getargspec в более ранних версиях.

 >>> def foo(x): pass

>>> import inspect
>>> inspect.getfullargspec(foo)
FullArgSpec(args=['x'], varargs=None, varkw=None, defaults=None, kwonlyargs=[], kwonlydefaults=None, annotations={})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...