Python-什么是“可呼叫”?
现在很清楚什么是元类,有一个相关的概念我一直都在使用,而并不知道它的真正含义。
我想每个人都在括号里犯了一个错误,导致了“对象不可调用”异常。而且,使用__init__
并__new__
导致怀疑这种血腥的__call__
用途。
您能给我一些解释,包括魔术方法的例子吗?
回答:
可调用对象是可以调用的任何东西。
所述内置的可调用(PyCallable_Check在objects.c
)检查该参数可以是:
具有__call__
方法的类的实例或
是具有非null tp_call(c struct)
成员的类型,该成员以其他方式指示可调用性(例如在函数,方法等中)
命名的方法__call__
是(根据文档)
当实例被“调用”为函数时调用
例
class Foo: def __call__(self):
print 'called'
foo_instance = Foo()
foo_instance() #this is calling the __call__ method
以上是 Python-什么是“可呼叫”? 的全部内容, 来源链接: utcz.com/qa/411599.html