Free Online Code Editor
Create enumerated constants with Enum.
from enum import Enum, auto
# Basic enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
print(f"Color: {Color.RED}")
print(f"Name: {Color.RED.name}")
print(f"Value: {Color.RED.value}")
# Iterate over enum
print("\nAll colors:")
for color in Color:
print(f" {color.name} = {color.value}")
# Access by value
print(f"\nAccess by value: {Color(2)}")
# Auto-incrementing values
class Status(Enum):
PENDING = auto()
PROCESSING = auto()
COMPLETED = auto()
FAILED = auto()
print("\nStatus values:")
for status in Status:
print(f" {status.name} = {status.value}")
# Enum with methods
class Priority(Enum):
LOW = 1
MEDIUM = 2
HIGH = 3
def describe(self):
return f"Priority {self.name} (level {self.value})"
print(f"\n{Priority.HIGH.describe()}")
# Comparison
print(f"\nPriority.HIGH > Priority.LOW: {Priority.HIGH.value > Priority.LOW.value}")
# Enum as dictionary keys
task_status = {
Status.PENDING: 5,
Status.COMPLETED: 10,
Status.FAILED: 2
}
print(f"\nPending tasks: {task_status[Status.PENDING]}")
# Unique enum
from enum import unique
@unique
class Direction(Enum):
NORTH = 1
SOUTH = 2
EAST = 3
WEST = 4
print(f"\nDirection: {Direction.NORTH}")Enum creates named constants. Access by name or value. Iterate with for loop. Use auto() for auto-incrementing values. Add methods to enum.