贝利信息

Python枚举类型教程_enum模块使用详解

日期:2026-01-05 00:00 / 作者:舞姬之光
Python enum模块提供类型安全、可迭代、不可变的命名常量枚举类,支持名称/值双向查找、auto()自动赋值、@unique防别名、属性方法扩展及IntEnum整数比较。

Python 的 enum 模块提供了一种清晰、安全、可读性强的方式来定义一组命名常量。它不是简单地用变量代替数字,而是构建出有类型、可迭代、不可变、支持名称/值双向查找的枚举类。

定义与基本访问方式

enum 导入 Enum,继承后定义类成员即可:

三种常用遍历方法

枚举类本身可直接迭代,返回的是规范成员(排除别名),顺序按定义顺序:

自动赋值与别名处理

避免手动编号重复,可用 auto() 自动生成递增整数:

扩展功能:带属性与方法的枚举

枚举成员可以携带额外数据,并封装逻辑:

不复杂但容易忽略:枚举类不能被实例化,成员不可修改,也不支持大小比较(> 会报 TypeError),仅支持身份(is)和相等(==)判断。