我在 python 中有一个使用字符串列表的枚举类:
from enum import Enum
myEnum = Enum('myEnum',['typeA',typeB','typeC'])
Run Code Online (Sandbox Code Playgroud)
我想将方法“ str ”添加到这个枚举类中:
def __str__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
这样当我使用 str() 函数时,我只得到“typeX”部分,即没有类名的枚举部分。例如
print(str(myEnum.typeA)) # I want this to print "typeA" instead of "myEnum.typeA"
Run Code Online (Sandbox Code Playgroud)
我不知道如何将“ str ”方法添加到此类,因为它不是类定义?感谢您的帮助。
如果这是您经常做的事情,您可以创建自己的基本 Enum 类,然后在函数调用中使用它:
class MyBaseEnum(Enum):
def __str__(self):
return self.name
myEnum = MyBaseEnum('myEnum',['typeA','typeB','typeC'])
Run Code Online (Sandbox Code Playgroud)
并在使用中:
>>> print(myEnum.typeB)
typeB
Run Code Online (Sandbox Code Playgroud)