Python中如何详细定义并使用枚举类?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1318个文字,预计阅读时间需要6分钟。
一些具有特殊含义的类别,其具体实例数量往往是固定的。例如,用月表示月份,最多有12个实例;用季表示季节,最多有4个实例。
针对这种特殊的类,Python 3.4 中新增加了 Enum 枚举类。也就是说,对于这些实例化对象个数固定的类,可以用枚举类来定义。
例如,下面程序演示了如何定义一个枚举类:
from enum import Enum
class Color(Enum):
# 为序列值指定value值
red = 1
green = 2
blue = 3
如果想将一个类定义为枚举类,只需要令其继承自 enum 模块中的 Enum 类即可。例如在上面程序中,Color 类继承自 Enum 类,则证明这是一个枚举类。
在 Color 枚举类中,red、green、blue 都是该类的成员(可以理解为是类变量)。注意,枚举类的每个成员都由 2 部分组成,分别为 name 和 value,其中 name 属性值为该枚举值的变量名(如 red),value代表该枚举值的序号(序号通常从 1 开始)。
和普通类的用法不同,枚举类不能用来实例化对象,但这并不妨碍我们访问枚举类中的成员。
本文共计1318个文字,预计阅读时间需要6分钟。
一些具有特殊含义的类别,其具体实例数量往往是固定的。例如,用月表示月份,最多有12个实例;用季表示季节,最多有4个实例。
针对这种特殊的类,Python 3.4 中新增加了 Enum 枚举类。也就是说,对于这些实例化对象个数固定的类,可以用枚举类来定义。
例如,下面程序演示了如何定义一个枚举类:
from enum import Enum
class Color(Enum):
# 为序列值指定value值
red = 1
green = 2
blue = 3
如果想将一个类定义为枚举类,只需要令其继承自 enum 模块中的 Enum 类即可。例如在上面程序中,Color 类继承自 Enum 类,则证明这是一个枚举类。
在 Color 枚举类中,red、green、blue 都是该类的成员(可以理解为是类变量)。注意,枚举类的每个成员都由 2 部分组成,分别为 name 和 value,其中 name 属性值为该枚举值的变量名(如 red),value代表该枚举值的序号(序号通常从 1 开始)。
和普通类的用法不同,枚举类不能用来实例化对象,但这并不妨碍我们访问枚举类中的成员。

