Я играю с вызываемым 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
Я думаю, что очень жаль, что вы не можете рассматривать любой вызываемый объект как функцию, если я не делаю что-то не так здесь?