Как создать регистронезависимое перечисление?Python

Программы на Python
Anonymous
Как создать регистронезависимое перечисление?

Сообщение Anonymous »

У меня есть простое перечисление Python 2.7:

Код: Выделить всё

from enum import Enum

class Label(enum):
RedApple = 1
GreenApple = 2
Я хотел бы иметь возможность создавать объекты перечисления, используя ключи, нечувствительные к регистру:

Код: Выделить всё

fruitname = "redapple"
a = Label[fruitname]
Я пытался создать метод __init__:

Код: Выделить всё

def __init__(self, key):
super(Label, self).__init__()
pass # do comparison here
но я постоянно сталкиваюсь с ошибками:

Код: Выделить всё

super(Label, self).__init__()
NameError: global name 'Label' is not defined
Я хотел бы провести сравнение с key.lower().strip(). Возможно ли это вообще?

Подробнее здесь: https://stackoverflow.com/questions/426 ... itive-enum

Вернуться в «Python»