Using constants in constructor
本问题已经有最佳答案,请猛点这里访问。
当我试图在类中的构造函数内使用常量时,会得到一个错误。我整个上午都在寻找问题的解决方案,我可以通过使用getter中的if/else语句来实现程序功能,但指令是使用常量。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | class Fan: SLOW = 1 MEDIUM = 2 FAST = 3 def __init__(self, speed=SLOW, radius=5, color='blue', on=False): self.__speed = speed self.__on = on self.__radius = radius self.__color = color def getSpeed(self): return self.__speed def getRadius(self): return self.__radius def getColor(self): return self.__color def getOn(self): return self.__on def setSpeed(self, speed): self.__speed = speed def setRadius(self, radius): self.__radius = radius def setColor(self, color): self.__color = color def setOn(self, on): self.__on = on fan1 = Fan(FAST, 10, 'yellow', True) fan2 = Fan(MEDIUM, 5, 'blue', False) print(fan1.getSpeed()) print(fan1.getRadius()) print(fan1.getColor()) print(fan1.getOn()) print() print(fan2.getSpeed()) print(fan2.getRadius()) print(fan2.getColor()) print(fan2.getOn()) |
运行此代码时,会出现以下错误:"name错误:name'fast'未定义"
如有任何帮助和解释,我们将不胜感激。
你需要:
1 2 | fan1 = Fan(Fan.FAST, 10, 'yellow', True) fan2 = Fan(Fan.MEDIUM, 5, 'blue', False) |
您需要在
您的主程序中不存在Fast。它只存在于你的班级里
你需要在课堂上快速地提到
用
除非将