Python 如何正确调用内部类的变量
我想设置一个内部类的值,并从任何类中调用它。我对(outer)类使用了相同的东西,set def中的值发生了更改,但在该函数之外,它看起来像是没有更改 我的代码如下所示Python 如何正确调用内部类的变量,python,variables,inner-classes,Python,Variables,Inner Classes,我想设置一个内部类的值,并从任何类中调用它。我对(outer)类使用了相同的东西,set def中的值发生了更改,但在该函数之外,它看起来像是没有更改 我的代码如下所示 class car(vehicle): __vehicle_kind = "car" __nb_of_wheels = 4 __nb_of_doors = 2 def showKind(self): return self.__vehicle_kind def show
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
我使用以下设置并调用showWheelColor:
new.wheels().setWheelColor(wheel_color)
print new.wheels().showWheelColor()
但该节目将返回旧值。
如何使其正确工作 您的示例存在一些问题。主要问题是您混淆了类和实例变量/成员。
wheel\u color=“grey”
是一个类变量,适用于wheel
的所有实例,而self.wheel\u color=color
是指仅适用于该特定实例的实例变量
除此之外,
new.wheels()
将在每次调用时提供一个新实例,您首先获取wheels
的一个新实例,并将其设置为wheel\u color
,然后创建另一个实例并检查其wheel\u colors
,但是,由于尚未在该python上设置实例变量,因此将求助于检查类变量,该类变量仍然是灰色的。主要问题是您混淆了类和实例变量/成员。wheel\u color=“grey”
是一个类变量,适用于wheel
的所有实例,而self.wheel\u color=color
是指仅适用于该特定实例的实例变量
除此之外,
new.wheels()
将在每次调用时提供一个新实例,您首先获取wheels
的一个新实例,并将其设置为wheel\u color
,然后创建另一个实例并检查其wheel\u colors
,但是,既然您没有在python上设置实例变量,那么python将求助于检查类变量,它仍然是“grey”
,首先不要将“private”视为python中的任何东西。车轮和汽车都是车辆的衍生物,这对我来说没有意义。你能不能给车辆
类提供代码,或者解释一下它背后的逻辑(车轮是如何成为车辆的?)首先不要把“private”看作Python中的任何东西。车轮
和汽车
都是车辆
的衍生物,这对我来说毫无意义。您是否可以给出车辆
类的代码或解释其背后的逻辑(车轮是如何成为车辆的?)