繁体   English   中英

我可以使用 Class 或 Method 作为 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 作为 Enum 的值,以使用名称指定 class。 但我不能为枚举值创建实例,因为它只是枚举 Class 而不是 Class。

我可以做这样的例子吗?

我不确定您尝试做的是否是个好主意,但是您可以使用以下方法获取枚举的值

a_class = TestEnum.a_name.value
a_instance = a_class(b=1)
print(type(a_instance))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM