python - python中的类常量

标签 python constants

在 python 中,我希望一个类有一些在所有子类中通用的“常量”(实际上是变量)。有没有办法用友好的语法来做到这一点? 现在我使用:

class Animal:
    SIZES=["Huge","Big","Medium","Small"]

class Horse(Animal):
    def printSize(self):
        print(Animal.SIZES[1])

我想知道是否有更好的方法可以做到这一点,或者无需写“动物”就可以做到这一点。在尺寸之前。 Horse 继承自 Animal。

最佳答案

由于 HorseAnimal 的子类,所以你可以改变

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)

或者,您可以创建中间类:HugeAnimalBigAnimal 等。如果每个动物类都包含不同的逻辑,那将特别有用。

关于python - python中的类常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10672419/

相关文章:

C++ const 基于输入的静态启动

python - 为绘制列表的曲线下面积着色

python - 如何使用 django 在 10 秒不活动后重定向回登录页面?

python - 更新现有的 PyInstaller 包

javascript - 为什么 ?函数的对象参数返回未定义的 JS

c++ - 成员和非成员运算符在 temporary 上选择 const-overload 的差异

python - 获取 3D 空间中平面多边形顶点的局部 2D 坐标

python - 在 GAE 上使用 Python 2.7 没有显示错误堆栈跟踪

c - 为什么局部常量变量不进入 .rodata 部分?

c - 在 C 中隐藏一个结构,这是未定义的行为吗?