在Python中,一切都是对象。
如果我们创建一个用户定义类的示例,下面是示例是如何创建的。
步骤:1调用类型类中的__call__()
方法。
第二步:__call__
方法依次调用__new__()
和__init__()
方法来创建用户定义类的示例。
class Foo()
def __init__(self):
...
Foo()
〈---在这里,发生了上述两个步骤。
类似地,当为Foo类创建一个对象时,需要调用__call__()
方法,然后调用__new__()
和__init__()
方法。
有人能帮助这个__call__()
方法位于哪里吗?
我试图理解对象for(不是of)类是如何构造的。
谢谢!
1条答案
按热度按时间ru9i0ody1#
它属于
type
类:因为类是
type
的示例,所以它们有这个方法:因此,创建一个像
A()
这样的对象相当于调用A.__call__
,这又相当于调用type.__call__
,并将A
作为self
参数: