需要python基本说明

2024-06-25 05:24:49 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能给我解释一下下面的代码吗 既然我们继承了观察者的对象和方法,为什么我们两者都需要呢观察者初始化?你知道吗

class TickGenerator(Observer):
    def __init__(self):
        Observer.__init__(self)
        self.price = 1000

Tags: 对象方法代码selfinitdefpriceclass
3条回答

因为程序员除了需要 在当前类的(TickGenerator__init__中正在执行的操作。你知道吗

This Stackoverflow answer will help you understand more.

我猜您来自一种自动调用父类构造函数的语言。你知道吗

在Python中,如果重写__init__方法,除非显式调用父类构造函数,否则不会调用它。你知道吗

在Python3之前,它通常被称为:

def __init__(self, *args, **kwargs):
    super(TickGenerator, self).__init__(*args, **kwargs) 

新的[super()][1]语法(PEP-3135)只是:

def __init__(self, *args, **kwargs):
    super().method(*args, **kwargs)

如果您不呼叫观察员。初始化如下:

class TickGenerator(Observer):
    def __init__(self):
        self.price = 1000

这意味着您重写TickGenerator。init方法和观察者。init将不会自动调用。你知道吗

相关问题 更多 >