Не удается получить argspec для вызываемых объектов Python?

Я играю с вызываемым Python. По сути, вы можете определить класс python и реализовать метод __ call __ , чтобы сделать экземпляр этого класса вызываемым. например,

class AwesomeFunction(object):
    def __call__(self, a, b):
        return a+b

Модуль inspect имеет функцию getargspec, которая дает вам спецификацию аргумента функции. Однако, похоже, я не могу использовать его для вызываемого объекта:

fn = AwesomeFunction()
import inspect
inspect.getargspec(fn)

К сожалению, у меня возникла ошибка TypeError:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/inspect.py", line 803, in getargspec
    raise TypeError('arg is not a Python function')
TypeError: arg is not a Python function

Я думаю, что очень жаль, что вы не можете рассматривать любой вызываемый объект как функцию, если я не делаю что-то не так здесь?

13
задан EnToutCas 22 October 2010 в 17:39
поделиться