Enums in Python

In Python 3.4, Enum support was added.

How to implement an Enum

Implementing an Enum in Python is trivial.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from enum import Enum


class PizzaSize(Enum):
    SMALL = 0
    MEDIUM = 1
    LARGE = 2


print(PizzaSize.SMALL) # PizzaSize.SMALL
print(PizzaSize.SMALL.value) # 0
print(PizzaSize.SMALL.name) # SMALL

As a shortcut, a range value may be applied:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from enum import Enum


class PizzaSize(Enum):
    SMALL, MEDIUM, LARGE = range(3)


print(PizzaSize.SMALL)  # PizzaSize.SMALL
print(PizzaSize.SMALL.value)  # 0
print(PizzaSize.SMALL.name)  # SMALL