当前位置: 首页 > 面试题库 >

枚举-在字符串转换中获取枚举的值

窦哲彦
2023-03-14
问题内容

我定义了以下枚举

from enum import Enum


class D(Enum):
    x = 1
    y = 2


print(D.x)

现在的印刷价值是

D.x

相反,我想打印枚举的值

1

要实现此功能可以做些什么?


问题答案:

您正在打印枚举 对象.value如果只想打印该属性,请使用该属性:

print(D.x.value)

请参阅 对枚举成员及其属性
编程访问权限

部分

如果您有枚举成员并需要其名称或值:

>>>
>>> member = Color.red
>>> member.name
'red'
>>> member.value
1

__str__如果只需要提供自定义字符串表示形式,则可以向枚举添加方法:

class D(Enum):
    def __str__(self):
        return str(self.value)

    x = 1
    y = 2

演示:

>>> from enum import Enum
>>> class D(Enum):
...     def __str__(self):
...         return str(self.value)
...     x = 1
...     y = 2
... 
>>> D.x
<D.x: 1>
>>> print(D.x)
1


 类似资料:
  • 我定义了以下枚举 现在打印值为 相反,我想打印枚举的值 可以做什么来实现这个功能?

  • 我用一些字符串作为属性的常量创建了一个枚举。每个常数中字符串的数量都不一样,所以我使用了varargs(第一次这样做)。这是我的枚举: 现在我想要能够键入类似的内容:

  • 例如,我如何做类似的事情: 结果示例:

  • 本文向大家介绍Java将枚举转换为字符串,包括了Java将枚举转换为字符串的使用技巧和注意事项,需要的朋友参考一下 示例 有时您想将枚举转换为String,有两种方法可以实现。 假设我们有: 那么,我们如何将类似的东西转换Fruit.APPLE为"APPLE"? 使用转换 name() name()是一个内部方法,enum该方法返回String枚举的表示形式,返回值精确String表示枚举值的定义

  • 因此,进一步寻找,我发现这个人有一个解决方案:typescript中基于字符串的枚举的解决方案 这将允许像这样的东西工作: 唯一的回应基本上是说这样做是不安全的。(但我应该说,它确实起作用了--我可以键入eventtype.dot...Atom editor给了我5个大小写选项可供选择(保持代码中的内容一致),然后我可以使用它将字符串值吐出来,给我的用户一个很好的填充空间的体验,将来我可以更改枚举