从类方法访问Python枚举值



我的枚举如下:

class RequestMethodVerbMapping(Enum):
    POST = 'Create'
    PUT = 'Update'
    DELETE = 'Delete'

现在,为了访问与某个HTTP动词关联的字符串,我要执行以下操作:

In [19]: RequestMethodVerbMapping.POST.value                                                                                                                                                                                                                             
Out[19]: 'Create'

可以按预期工作。我做了以下操作:

import RequestMethodVerbMapping
class BaseWorkFlow:
    def __init__(self, request_method):
        self.request_method = request_method
def print_enum(self):
    print (RequestMethodVerbMapping.self.request_method.value)

但是,这不起作用,给我一个错误:

attributeError:self

我在做什么错?

getattr()要通过属性名称获得枚举值应完成工作:

def print_enum(self):
    print(getattr(RequestMethodVerbMapping, self.request_method).value)

最新更新