Python 如何将枚举名称转换为字符串?
不是的副本: 这里的问题是如何将Python 如何将枚举名称转换为字符串?,python,Python,不是的副本: 这里的问题是如何将Enum名称(左部分)转换为字符串,而不是值(右部分) 使用以下枚举: class test(Enum): aa = 1 bb = 2 我可以这样做: v = test.aa print(v) 我得到: test.aa 但是如何将v转换为字符串?只需访问对象上的name属性: from enum import Enum class test(Enum): aa = 1 bb = 2 v = test.aa print(v.n
Enum
名称(左部分)转换为字符串,而不是值(右部分)
使用以下枚举
:
class test(Enum):
aa = 1
bb = 2
我可以这样做:
v = test.aa
print(v)
我得到:
test.aa
但是如何将
v
转换为字符串?只需访问对象上的name
属性:
from enum import Enum
class test(Enum):
aa = 1
bb = 2
v = test.aa
print(v.name)
输出:
aa
可以强制转换值或枚举本身
str(test.aa.value)==1
str(test.aa)==“test.aa”
print(test.aa)
也会将其转换为字符串str()方法同样有效;来自c#背景的我很难记住python中的所有内容都是缩写的!我认为string、not str、length、not len等等:)但这正是我需要的:一个带有test.aa的字符串,而不是'1'@Thomas Ahh,好的,那么调用var=str(v)
就可以了。