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

回到顶部