Python 3.x 子类中枚举的返回值

Python 3.x 子类中枚举的返回值,python-3.x,Python 3.x,我想从子类中的枚举返回字符串值。我有一个这样的班级结构 Class1 | |--subclass | | | |----Enum 现在我想从enum返回一个字符串值 我知道如何返回值returnstr(self.value) 类GSSML: 类别ProsodyAttributes: 类别比率(枚举): 定义(自我): 回归自我价值 x_slow='x-s

我想从子类中的枚举返回字符串值。我有一个这样的班级结构

Class1           
  |              
  |--subclass       
  |      |            
  |      |----Enum         
现在我想从enum返回一个字符串值

我知道如何返回值
returnstr(self.value)

类GSSML:
类别ProsodyAttributes:
类别比率(枚举):
定义(自我):
回归自我价值
x_slow='x-slow'
慢=‘慢’
中等=‘中等’
快速=‘快速’
x_fast='x-fast'
默认值='default'
还有我的测试代码

导入gssml
def main():
ssml=gssml.gssml()
打印(ssml.ProsodyAttributes.Rate.x_fast)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
main()
现在我希望它返回
x-fast
但是我得到了
速率.x\u fast


我不知道我做错了什么。请帮助您的代码没有返回正确的值,因为您将dunder方法
\uuuuu str\uuuuuu
拼写错了
\uuu srt\uuuu


In [15]: from enum import Enum 
    ...:  
    ...: class GSSML: 
    ...:     class ProsodyAttributes: 
    ...:         class Rate(Enum): 
    ...:             def __str__(self): 
    ...:                 return self.value 
    ...:             x_slow = 'x-slow' 
    ...:             slow = 'slow' 
    ...:             medium = 'medium' 
    ...:             fast = 'fast' 
    ...:             x_fast = 'x-fast' 
    ...:             default = 'default' 
    ...:  
    ...: ssml = GSSML() 
    ...: print(ssml.ProsodyAttributes.Rate.x_fast)                                                                                                                                
x-fast

您的代码没有返回正确的值,因为您将dunder方法
\uuuu str\uuuu
拼写错误为
\uuu srt\uu


In [15]: from enum import Enum 
    ...:  
    ...: class GSSML: 
    ...:     class ProsodyAttributes: 
    ...:         class Rate(Enum): 
    ...:             def __str__(self): 
    ...:                 return self.value 
    ...:             x_slow = 'x-slow' 
    ...:             slow = 'slow' 
    ...:             medium = 'medium' 
    ...:             fast = 'fast' 
    ...:             x_fast = 'x-fast' 
    ...:             default = 'default' 
    ...:  
    ...: ssml = GSSML() 
    ...: print(ssml.ProsodyAttributes.Rate.x_fast)                                                                                                                                
x-fast

是的,我知道
ssml.ProsodyAttributes.Rate.x\u fast.value
将返回值。但是为什么我的代码不返回字符串值呢?明白了,请参阅我的更新答案@f9fella,您将
\uuu str\uuuu
拼错为
\uu srt\uuuu
是的,我知道
ssml.ProsodyAttributes.Rate.x\u fast.value
将返回值。但是为什么我的代码没有返回字符串值呢?明白了,请参阅我的更新答案@f9fella,您将
\uuuu str\uuuuuuu
拼错为
\uuu srt\uuuu