感谢有关类属性的信息。我知道这些类似于其他 OO 语言中的静态。现在在下面的代码中,我希望在派生类中使用__init__基类来设置x和y。任何指导将不胜感激。
class Base1:
def __init__(self, x):
self.x = x
class Base2:
def __init__(self, y):
self.y = y
class Derv (Base1, Base2):
def __init__(self, x, y):
self.x = x
self.y = y
老的:
与多重继承相关:派生类仅从一个基类获取属性?
现在,在以下示例中发生了什么(d 的字典为空):
class Base1:
x = 10
class Base2:
y = 10
class Derv (Base1, Base2):
pass
d=Derv()
print (d.__dict__)
虽然这在我们将代码更改为以下时有效:
class Base1:
x = 0
def __init__(self, x):
self.x = x
class Base2:
y = 0
def __init__(self, y):
self.y = y
class Derv (Base1, Base2):
def __init__(self, x, y):
self.x = x
self.y = y
我觉得这是比较确定的,因为x and y在__init__的方法Derv。但是,如果我希望使用基类构造函数设置值,正确的方法是什么?
catspeake
相关分类