Я играю с Python вызываемым. В принципе вы можете определить класс python и реализовать метод __call__
, чтобы сделать экземпляр этого класса вызываемым. например.
class AwesomeFunction(object):
def __call__(self, a, b):
return a+b
Проверка модуля имеет функцию 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
Я думаю, что очень жаль, что вы не можете рассматривать любой вызываемый объект как функцию, если я не делаю что-то неправильно здесь?