代码是什么意思---------“ self(img,scale)”

时间:2019-05-23 05:40:53

标签: python-3.x

在类的定义中,有一些代码-“ self(parameters)”,我认为self是类的重点,但是代码就像一个函数。我的问题是如何理解python类中的“ self()”

{{1}}

2 个答案:

答案 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)

自身可以是类构造函数,并且在创建类对象之后,可以存在构造函数定义,当您将一些参数传递给构造函数时,该构造函数定义将返回一些值