当前位置: 首页 > 知识库问答 >
问题:

获取字符串转换时枚举的值

伯彦君
2023-03-14

我定义了以下枚举

from enum import Enum


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


print(D.x)

现在打印值为

D.x

相反,我想打印枚举的值

1

可以做什么来实现这个功能

共有3个答案

高弘光
2023-03-14

如果要使用f-string打印值,则可以从Enumstr继承枚举。例如:

from enum import Enum


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


print(D.x)
print(f"{D.x}")

输出:

D.x
1
弘承运
2023-03-14

我使用以下方法实现了access

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

    def __str__(self):
        return '%s' % self.value

现在我可以做了

打印(D.x)以获得结果1

您也可以使用self.name来打印x而不是1

施招
2023-03-14

您正在打印枚举对象。使用。值属性,如果只想打印:

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
 类似资料:
  • 问题内容: 我定义了以下枚举 现在的印刷价值是 相反,我想打印枚举的值 要实现此功能可以做些什么? 问题答案: 您正在打印枚举 对象 。如果只想打印该属性,请使用该属性: 请参阅 对枚举成员及其属性 的 编程访问权限 部分 : 如果您有枚举成员并需要其名称或值: 如果只需要提供自定义字符串表示形式,则可以向枚举添加方法: 演示:

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

  • 我有一个枚举文件,在其中我为PaymentTypes定义了一个对象: 这样我就有了可以使用的东西:

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

  • 我想用Typescript写这样的东西: 并按如下方式使用: 它会返回的地方 上面的函数按预期工作…但是输入抛出错误。对于