Python by example

Enums in Python

Enumerations (or enums) in Python are a set of symbolic names bound to unique, constant values.

from enum import Enum

# Basic enum definition
class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

# Accessing enum members
print(Color.RED)       # Output: Color.RED
print(Color.RED.name)  # Output: RED
print(Color.RED.value) # Output: 1

Enums can be used for comparison and iteration:

# Comparing enum members
color = Color.RED
if color == Color.RED:
    print("The color is red")  # This will be printed

# Iterating through enum members
for color in Color:
    print(color.name, color.value)
# Output:
# RED 1
# GREEN 2
# BLUE 3

For enums where each value must be unique, use IntEnum or unique:

from enum import IntEnum, unique

# IntEnum forces values to be integers
class Status(IntEnum):
    ERROR = 0
    PENDING = 1
    RUNNING = 2
    SUCCESS = 3

# The @unique decorator ensures no duplicate values
@unique
class UniqueColor(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3
    # DUPLICATE = 1  # This would raise an error
Next example: Classes