Получить доступ к значению перечисления Python из метода класса - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть Enum следующим образом:

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

Теперь, чтобы получить доступ к строке, связанной с определенным глаголом HTTP, я делаю следующее:

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

Работает какОжидается. Однако теперь глагол HTTP является атрибутом класса, и я хочу получить доступ к перечислению в методе класса.Я сделал следующее:

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

Что яделать неправильно?

1 Ответ

0 голосов
/ 18 декабря 2018

getattr() для получения значения Enum по имени атрибута следует выполнить работу:

def print_enum(self):
    print(getattr(RequestMethodVerbMapping, self.request_method).value)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...