我尝试了很多次,但没有得到以下代码
提前感谢您的任何帮助/建议
class A(object):
def __init__(self,x,y,z):
self.c=C(x,y,z)
def getxyz(self):
return self.c.getxyz()
class B(object):
def __init__(self,x,y):
self.x=x
self.y=y
def getxy(self):
return self.x, self.y
class C(B):
def __init__(self,x,y,z):
super(C,self).__init__(x,y)
#self.x,self.y=x,y
self.z=z
def getxyz(self):
(x,y)=self.getxy()
return x,y,self.z
a=A(1,2,3)
a.getxyz()
答案 0 :(得分:2)
我不是100%肯定你为什么要嵌套课程(很少是你真正想做的事情)但行
self.c = C(x,y,z)
几乎肯定是这里的问题。除非我不明白你想要完成什么(可能是这样),否则你应该能够做到
class A(object):
def __init__(self, x, y, z):
self.c = self.C(x,y,z)
def getxyz(self):
return self.c.getxyz()
class B(object):
def __init__(self, x, y):
self.x = x
self.y = y
def getxy(self):
return self.x, self.y
class C(B):
def __init__(self, x, y, z):
super(A.C, self).__init__(x,y)
self.z = z
def getxyz(self):
(x,y) = self.getxy()
return x, y, self.z