Python Enum类

Enum类是可调用的,提供以下功能API:

 

 等价于

class Animal(Enum):
    ANT = 1
    BEE = 2
    CAT = 3
    DOG = 4

 

### 创建自定义枚举Python 中,可以通过继承 `enum.Enum` 来创建自定义枚举。这使得可以定义一组命名常量,这些常量具有唯一性和不可变性。 #### 定义基本枚举 通过导入 `Enum` 并从中派生新来实现: ```python from enum import Enum class Color(Enum): RED = 1 GREEN = 2 BLUE = 3 ``` 上述代码片段展示了如何定义一个简单的颜色枚举[^1]。 #### 使用函数式语法定义枚举 除了使用语句外,还可以采用更紧凑的方式定义枚举成员: ```python Color = Enum('Color', ['RED', 'GREEN', 'BLUE']) ``` 这种方式同样有效,并且更加简洁。 #### 添加方法和属性给枚举成员 可以在枚举内部添加额外的方法或属性以便于操作: ```python from enum import Enum class Status(Enum): PENDING = (0, "等待处理") COMPLETED = (1, "已完成") def __init__(self, code, description): self.code = code self.description = description def describe(self): return f"{self.name}: {self.value}" ``` 此例子中不仅包含了状态码还附带了描述信息,同时提供了获取其字符串表示形式的方法。 #### 枚举成员比较 两个相同型的枚举实例可以直接进行相等性测试;但是不同型的枚举即使名称相同也不能认为彼此相等: ```python >>> from enum import Enum >>> class Shake(Enum): ... vanilla = 7 ... chocolate = 4 ... >>> Chocolate = Shake.chocolate >>> Vanilla = Shake.vanilla >>> Chocolate == Vanilla False >>> Chocolate is Shake.chocolate True ``` 这段演示说明了同一枚举内的成员之间是可以相互比较的,而跨枚举则不行。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值