我可以使用 Class 或方法作为枚举 class 在 Python 中的值吗?
can i use Class or Method as Enum class's value in Python?
from enum import Enum
class A:
def __init__(self, b):
self.b = b
class TestEnum(Enum):
a_name = A
a_class = TestEnum.a_name
a_instance = a_class(b=1)
print(type(a_instance))
### TypeError: 'TestEnum' object is not callable
我想使用 Class 作为枚举的值来指定 class 使用名称。但我无法为 Enum 值创建实例,因为它只是 Enum Class 而不是 A Class.
我可以举个例子吗?
我不确定你正在尝试做的事情是否是个好主意,但你可以使用
获得枚举的值
a_class = TestEnum.a_name.value
a_instance = a_class(b=1)
print(type(a_instance))
from enum import Enum
class A:
def __init__(self, b):
self.b = b
class TestEnum(Enum):
a_name = A
a_class = TestEnum.a_name
a_instance = a_class(b=1)
print(type(a_instance))
### TypeError: 'TestEnum' object is not callable
我想使用 Class 作为枚举的值来指定 class 使用名称。但我无法为 Enum 值创建实例,因为它只是 Enum Class 而不是 A Class.
我可以举个例子吗?
我不确定你正在尝试做的事情是否是个好主意,但你可以使用
获得枚举的值a_class = TestEnum.a_name.value
a_instance = a_class(b=1)
print(type(a_instance))