感谢有关类属性的信息。我知道这些类似于其他 OO 语言中的静态。现在在下面的代码中,我希望在派生类中使用__init__基类来设置x和y。任何指导将不胜感激。class Base1: def __init__(self, x): self.x = xclass Base2: def __init__(self, y): self.y = yclass Derv (Base1, Base2): def __init__(self, x, y): self.x = x self.y = y老的:与多重继承相关:派生类仅从一个基类获取属性?现在,在以下示例中发生了什么(d 的字典为空):class Base1: x = 10class Base2: y = 10class Derv (Base1, Base2): passd=Derv()print (d.__dict__)虽然这在我们将代码更改为以下时有效:class Base1: x = 0 def __init__(self, x): self.x = xclass Base2: y = 0 def __init__(self, y): self.y = yclass Derv (Base1, Base2): def __init__(self, x, y): self.x = x self.y = y我觉得这是比较确定的,因为x and y在__init__的方法Derv。但是,如果我希望使用基类构造函数设置值,正确的方法是什么?
1 回答
catspeake
TA贡献1111条经验 获得超0个赞
最简单也是最好的:只需调用每个基类中的初始化程序即可!
class Derv(Base1, Base2): def __init__(self, x, y): Base1.__init__(self, x) Base2.__init__(self, y)
添加回答
举报
0/150
提交
取消