Python枚举类Enum添加成员变量

在Python中为枚举类Enum添加成员,可以为枚举添加别名中文描述等信息,方便信息打印追加信息。在网上查了几篇文章,首先发现百度AI给的方法是比较老的,对于新版本的Python来说是错误的。

还有的文章是推荐用aenum,需要额外下载感觉也不太好。回到官方文档发现Python版本升级后,通过__new__魔法方法还是可以追加成员的,下面给出本文修改后的示例代码:

from enum import IntEnum
 
class Color(IntEnum):
    RED = 1, "Red"
    GREEN = 2, "Green"
    BLUE = 3, "Blue"
 
    def __new__(cls, value, text):
        member = int.__new__(cls, value)  # 创建枚举成员
        member._value_ = value
        member._text = text  # 添加文本属性
        return member
    
    @property
    def text(self):
        return self._text  # 获取文本属性
 
# 使用枚举
print(Color.RED.text)  # 输出: Red
print(Color.GREEN.text)  # 输出: Green
print(Color.BLUE.text)  # 输出: Blue

结论是还是得看官方文档啊。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值