How to use enums in Python classes?

Python's enum module provides a way to create enumerated constants within classes. Enums are useful for representing a fixed set of constants like car brands, colors, or status codes.

Creating an Enum Class

To create an enum, inherit from enum.Enum and define class attributes as constants ?

import enum

class Car(enum.Enum):
    SUZUKI = 1
    HYUNDAI = 2
    DEZIRE = 3

print("All the enum values are:")
for car in Car:
    print(car)
All the enum values are:
Car.SUZUKI
Car.HYUNDAI
Car.DEZIRE

Accessing Enum Values

You can access enum members by name or value ?

import enum

class Car(enum.Enum):
    SUZUKI = 1
    HYUNDAI = 2
    DEZIRE = 3

# Access by name
print("By name:", Car.SUZUKI)

# Access by value
print("By value:", Car(2))

# Get name and value
print("Name:", Car.SUZUKI.name)
print("Value:", Car.SUZUKI.value)
By name: Car.SUZUKI
By value: Car.HYUNDAI
Name: SUZUKI
Value: 1

Using String Values

Enums can also use string values instead of integers ?

import enum

class Status(enum.Enum):
    PENDING = "pending"
    APPROVED = "approved"
    REJECTED = "rejected"

print("Status values:")
for status in Status:
    print(f"{status.name} = {status.value}")
Status values:
PENDING = pending
APPROVED = approved
REJECTED = rejected

Conclusion

Python enums provide a clean way to define named constants in classes. Use enum.Enum to create type-safe constants that improve code readability and prevent invalid values.

Updated on: 2026-03-24T19:46:13+05:30

326 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements