社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

Kevin Welch

Kevin Welch 最近创建的主题
Kevin Welch 最近回复了
5 年前
回复了 Kevin Welch 创建的主题 » 存储类变量的最佳Pythonic方法

我认为有两种方法可以做到这一点。。。他们是最蟒蛇吗?不确定,所以我将留给真正的PythonNinjas,而不做任何大胆的声明。

如果这些值是特定于猫的,那么您可以不必担心。

class Cat(object):
    OLD_AGE = 15
    YOUNG_AGE = 5
    LOW_MEDIUM_AGE = 8
    HIGH_MEDIUM_AGE = 12

    def __init__(self, color, breed, age):
        self.color = color
        self.breed = breed
        self.age = age

    def is_old_cat(self):
        if self.age > self.OLD_AGE:
            return True

        return False

另一种方法是创建一个枚举,您可以在 Cat

但是,如果您选择使用枚举,那么如果您有一个 Human 你想清楚的是15岁对猫来说是老的,而不是对人类。

from enum import IntEnum
class Age(IntEnum):
    OLD = 15
    YOUNG = 5
    LOW_MEDIUM = 8
    HIGH_MEDIUM = 12

print(Age.OLD) # 15
print(Age.YOUNG) # 5