在类的定义中,有一些代码-“ self(parameters)”,我认为self是类的重点,但是代码就像一个函数。我的问题是如何理解python类中的“ self()”
{{1}}
答案 0 :(得分:1)
该类看起来像是一个实现__call__
函数的类函数类(有时也称为“ functor”)。您可以将此类对象用作函数:
class Foo:
def __call__(self):
print("__call__");
obj = Foo();
obj();
如果您想从一个方法中做到这一点,则可以使用self
:
class Foo:
def function(self):
self();
def __call__(self):
print("CALL");
obj = Foo();
obj.function();
您也可以写self();
来代替self.__call__();
,但是可读性不强,所以大多数人都喜欢self();
。
答案 1 :(得分:0)
自身可以是类构造函数,并且在创建类对象之后,可以存在构造函数定义,当您将一些参数传递给构造函数时,该构造函数定义将返回一些值