我一直在搞乱python的枚举库,并遇到了一个难题.在文档中,它们显示了一个自动编号枚举的示例,其中定义了一些内容:
class Color(AutoNumber):
red = ()
green = ()
...
Run Code Online (Sandbox Code Playgroud)
我想创建一个类似的类,但是该值将自动从成员的名称设置并保留从执行str和mixin中获得的功能enum
所以类似于:
class Animal(MagicStrEnum):
horse = ()
dog = ()
Animal.dog == 'dog' # True
Run Code Online (Sandbox Code Playgroud)
我已经查看了枚举模块的源代码,并尝试了很多变化__new__和EnumMeta类