我正在玩 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
我认为很不幸,您不能将任何可调用对象视为函数,除非我在这里做错了什么?