定义:
枚举类是一种特殊的数据类型,用于表示一组具有离散取值的常量。它将常量与有意义的名字关联起来,使得代码更易读、更易维护。枚举类的每个成员都有一个唯一的名称和一个关联的值。
举例:
from enum import Enum
class ModelName(str, Enum):
alexnet = "alexnet"
resnet = "resnet"
lenet = "lenet"
访问enum成员:
ModelName.alexnet
获取枚举成员的值:
ModelName.alexnet.value
enum的优点:
1.使用枚举代替魔术数字
代码中使用枚举来代替魔术数字(不明确的常量值)可以增加代码的可读性。枚举为常量提供了有意义的名字,使得代码更容易理解。
2.避免硬编码
尽量避免在代码中硬编码枚举成员的值。如果需要使用枚举成员的值,最好使用枚举成员本身而不是其值。这可以提高代码的可读性,使得代码更容易维护
eg:
if var=="alexnet":
print("hello")
vs
if var==ModelName.alexnet:
print("hello")
枚举的不可变性:
枚举成员是不可变的,一旦创建就不能更改其值。这有助于确保枚举成员的稳定性,并防止意外的修改。