Перечисления в Python

Перечисления (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.
В общем, если Вы еще их не используете - поиспользуйте.

Просмотров:   3462

Комментарии

Добавить комментарий

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
CAPTCHA
Введи эти символы. Ато роботы одолели!