【发布时间】:2012-05-27 04:42:25
【问题描述】:
在 python 中,我希望一个类有一些在所有子类中通用的“常量”(实际上是变量)。有没有办法用友好的语法来做到这一点? 现在我使用:
class Animal:
SIZES=["Huge","Big","Medium","Small"]
class Horse(Animal):
def printSize(self):
print(Animal.SIZES[1])
我想知道是否有更好的方法可以做到这一点,或者无需写“动物”就可以做到这一点。在尺寸之前。 Horse 继承自 Animal。
【问题讨论】:
-
不是一个完整的答案,但如果
SIZES永远不会改变,一定要使用元组而不是列表。像这样("Huge","Big","Medium","Small") -
看起来你真的很喜欢这里的枚举
-
@jamylak 你的评论似乎很受欢迎,很多人似乎认为它很有价值。你能解释一下它背后的逻辑吗?
-
@dmigo 只是问题是关于常量的问题,并且列表可以变异,所以最好使用不可变的元组。常量不应该改变