python中super().__init__和类名.__init__的区别
时间: 2023-10-26 22:08:05 浏览: 201
python类中super()和__init__()的区别
`super().__init__` 和 `类名.__init__` 都是用来调用父类的构造函数 `__init__` 的方法。
`super()` 函数会自动查找当前类的父类,并调用其构造函数。这种方式更加灵活,因为如果我们继承了多个父类,`super()` 会自动按照继承顺序调用它们的构造函数。
而直接使用类名调用父类的构造函数,需要明确指定父类的名称,这种方式不够灵活,因为如果我们修改了继承关系,就需要修改代码中的类名。
因此,在继承中,使用 `super().__init__` 更加常见和推荐。同时,Python 3 中也推荐使用 `super()` 函数而不是 `类名.__init__`。
阅读全文