Как создать регистронезависимое перечисление?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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