class ZZ:
def __init__(self,xx):
self.xx=xx
class YY(ZZ,AA):
def __init__(self, référence,position):
self.référence=référence
self.position=position
def nearest_position(self,matrix,a):
for w in range (len(matrix)):
if (matrix[w][2]==self.xx):
#some codeee
def main():
yy=YY('ab',23)
yy.nearest_position(matrix,('ab',300))
它表示“ YY”对象没有属性“ xx”,但应从ZZ继承xx。我真的很困惑!
答案 0 :(得分:1)
您必须在父类上调用super(),并传递适当的参数。
例如,如下所示:
class AA:
pass
class ZZ:
def __init__(self, xx):
self.xx = xx
class YY(ZZ, AA):
def __init__(self, référence, position):
super().__init__(42)
self.référence = référence
self.position = position
def nearest_position(self, a):
return f'YOP: {a}'
yy = YY('ab', 23)
print(yy.nearest_position('ab'), yy.xx)
输出:
YOP: ab 42