gpt4 book ai didi

Python 枚举 : substitute `element` with `element.value`

转载 作者:太空宇宙 更新时间:2023-11-03 23:58:17 25 4
gpt4 key购买 nike

我有一个简单的枚举:

class E(Enum):
A = 'a'
B = 'b'

要访问 'a',我必须输入 E.A.value。但是, 是我唯一需要的 Enum 对象。

如何编写一个枚举,其中 'a' 只能由 E.A 访问?

最佳答案

Using an int as value was just an example. It should actually be a user-defined class.

如果您将类/类型与 Enum 混合,那么只需访问该成员本身就会为您提供该类型的子类型:

from enum import Enum

class MyClass:
def __init__(self, color):
self.color = color

class MyEnum(MyClass, Enum):
first = 'red'
second = 'green'
third = 'blue'

并在使用中:

>>> MyEnum.first
<MyEnum.first: 'red'>

>>> MyEnum.first.color
'red'

>>> type(MyEnum.first)
<enum 'MyEnum'>

>>> isinstance(MyEnum.first, MyClass)
True

披露:我是 Python stdlib Enum 的作者, enum34 backport , 和 Advanced Enumeration (aenum)图书馆。

关于Python 枚举 : substitute `element` with `element.value` ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56741740/

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