【python】Enum枚举类型的定义及使用方法

1.我们通常将一组常用的常数定义在一个class中,每个常量就是class的一个实例;

2.当一个变量有几种可能的取值的时候,我们将它定义为枚举类型。

例如,定义一组数据,代表周一到周末


再比如,定义男性和女性


二。用法

1.可以通过名称访问值,也可以通过值访问名称


2.申明一个实例


3.遍历一遍

 

### 创建自定义枚举类 在 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 ``` 这段演示说明了同一枚举内的成员之间是可以相互比较的,而跨枚举则不行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值