为了账号安全,请及时绑定邮箱和手机立即绑定

具有多个基类的类中的继承属性问题

具有多个基类的类中的继承属性问题

波斯汪 2021-07-12 16:17:56
感谢有关类属性的信息。我知道这些类似于其他 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)


查看完整回答
反对 回复 2021-07-28
  • 1 回答
  • 0 关注
  • 132 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信