gpt4 book ai didi

python - 是否可以使用 Python 定义没有值的枚举?

转载 作者:太空宇宙 更新时间:2023-11-03 13:54:32 26 4
gpt4 key购买 nike

Java 和其他语言中枚举的一个优点是我不必关心特定值(与常量/静态最终成员相反)。例如,在 Java 中我可以执行以下操作:

public enum Color {
RED, BLUE;
}

至少据我所知,在 python 中我必须执行以下操作:

class Color(Enum) {
RED = "red" # or e.g 1
BLUE = "blue" # or e.g. 2
}

如果我有一个包含数百个名称的枚举,那么这会变得非常麻烦,因为我总是必须跟踪一个值是否已经分配给一个名称。是否有可能在不借助生成器等的情况下实现与 Java 相同的结果?

最佳答案

如果您使用的是 Python 3.6 或更高版本,则可以使用 enum.auto():

from enum import Enum, auto

class Color(Enum):
RED = auto()
BLUE = auto()

enum 的文档库描述了这个和其他有用的特性,比如 @unique 装饰器。

关于python - 是否可以使用 Python 定义没有值的枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58471615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com