【发布时间】:2022-01-21 18:23:04
【问题描述】:
假设我有这门课
class child(parent1, parent2):
pass
如果 parent1 也有一个定义的__init__,是否可以访问parent2.__init__?。
这是我的完整代码。
class parent1:
def __init__(self):
self.color="Blue"
class parent2:
def __init__(self):
self.figure="Triangle"
class child(parent1,parent2):
pass
juan=child()
try:
print(juan.color)
except Exception as e:
print(e)
try:
print(juan.figure)
except Exception as e:
print(e)
print(juan.__dict__)
我试过了
class child(parent1,parent2):
def __init__(self):
super(parent2).__init__()
但也许我错过了什么?
谢谢。 问候。
【问题讨论】:
-
所有三个类都应该使用
super(如果有的话)。这就是允许按照从继承树中推断的顺序调用每个函数的原因,而不是需要对特定方法的显式引用。
标签: python class oop inheritance multiple-inheritance