我想设置一个内部类的值,并从任何类中调用它。我对(外部)类使用相同的东西,值在set def中被改变,但在该函数之外,它就像是没有改变。
我的代码看起来像这样
class car(vehicle):
__vehicle_kind = "car"
__nb_of_wheels = 4
__nb_of_doors = 2
def showKind(self):
return self.__vehicle_kind
def showNbOfWheels(self):
return self.__nb_of_wheels
def showNbOfDoors(self):
return self.__nb_of_doors
class wheels(vehicle):
wheel_color = "grey"
wheel_diametre = "16"
def setWheelColor(self, color):
self.wheel_color = color
print self.wheel_color
def showWheelColor(self):
return self.wheel_color
我设置并使用:
调用showWheelColornew.wheels().setWheelColor(wheel_color)
print new.wheels().showWheelColor()
但该节目返回旧值。 如何使这项工作正常?
答案 0 :(得分:0)
您的示例有一些问题。主要问题是您混淆了类和实例变量/成员。 wheel_color = "grey"
是一个适用于wheel
所有实例的类变量,而self.wheel_color = color
是指仅适用于该特定实例的实例变量。
除了new.wheels()
每次调用时都会提供新实例的事实,您首先会采用wheels
的新实例并设置它wheel_color
wheel_colors
1}}然后创建另一个实例并检查它"grey"
,但是因为你没有在那个python上设置实例变量,所以需要检查类变量 - 它仍然是{{1 }}