Перечисления (Enum) — один из самых важных элементов в современном программировании. И да, без них можно обойтись и не чувствовать себя лишенным. Но не делайте так.
Думаю многие из Вас уже сталкивались с кодом в котором невозможно разобраться. Enum это именно то, что делает код понятнее и удобочитаемее.
В Python работать с перечислениями одно удовольствие.
Перед использованием нужно импортировать класс.
from enum import Enum
А теперь нужно просто унаследоваться от него при создании своего перечисления.
Например вот так:
class Color(Enum): red = 1 green = 2 blue = 3
Объект перечисления итерируемый. Т.е. вы можете легко и просто использовать циклы в своих программах с перечислениями.
for с in Color: print(c)
Color.red Color.green Color.blue
Вы можете легко и просто создать список из элементов перечисления.
list(Color) [<Color.red: 1>, <Color.green: 2>, <Color.blue: 3>]
К элементам перечисления можно получить доступ используя их численные представления.
Color(2) <Color.green: 2>
Интерпретатор сам проследить чтобы Вы не создали повторяющиеся элементы или же элементы с одинаковым численным представлением. А если что-то не так, произойдет исключение.
Также элементы можно сравнивать (да и зачем бы они были нужны без этого).
Их можно сохранять при помощи модуля pickle.
В общем, если Вы еще их не используете — поиспользуйте.