Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将枚举名称转换为字符串?_Python - Fatal编程技术网

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)
就可以了。