在 python 中,我希望一个类有一些在所有子类中通用的“常量”(实际上是变量)。有没有办法用友好的语法来做到这一点? 现在我使用:
class Animal:
SIZES=["Huge","Big","Medium","Small"]
class Horse(Animal):
def printSize(self):
print(Animal.SIZES[1])
我想知道是否有更好的方法可以做到这一点,或者无需写“动物”就可以做到这一点。在尺寸之前。 Horse 继承自 Animal。
最佳答案
由于 Horse
是 Animal
的子类,所以你可以改变
print(Animal.SIZES[1])
与
print(self.SIZES[1])
不过,您需要记住 SIZES[1]
的意思是“大”,因此您可能可以通过以下方式改进您的代码:
class Animal:
SIZE_HUGE="Huge"
SIZE_BIG="Big"
SIZE_MEDIUM="Medium"
SIZE_SMALL="Small"
class Horse(Animal):
def printSize(self):
print(self.SIZE_BIG)
或者,您可以创建中间类:HugeAnimal
、BigAnimal
等。如果每个动物类都包含不同的逻辑,那将特别有用。
关于python - python中的类常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10672419/