在__str__枚举中使用str(self.value)是注释

时间:2018-08-20 14:38:52

标签: python-3.x enums

将枚举self.value转换为__str__内的字符串是否是一个好主意 如果我应该添加str(self.value)或仅仅是self.value以从枚举中的每个键获取价值,请尝试征求大家的意见。好处之一是强制 str 结果作为字符串。所以当一些愚蠢的工程师把ny = 10234放进去时,我仍然可以得到字符串类型的值

from enum import Enum
class City(Enum):
    def __str__(self):
        return str(self.value)
    ny = 'New York'
    ca = 'New California'
    nj = 'New Jersey'
    RI = 'Rhode Island'
City.RI

1 个答案:

答案 0 :(得分:0)

__str__必须返回str。如果要覆盖默认的Enum __str__方法,则必须从中返回一个str

此外,__str__应该返回一个很好的,易于理解的字符串-您可能会在文本中输入某些内容-而不是repr()的输出,该字符串应用于调试和其他低级任务