enum | Python Standard Library – Real Python

The Python enum module provides support for enumerations, which are collections of constant values known as members.

Enumerations can improve code readability and maintainability by replacing literal constants and magic numbers with meaningful names.

Here’s how to create an enumeration:

Key Features

  • Defines a series of named values
  • Provides unique names to identify constant values
  • Supports iteration and comparison

Frequently Used Classes and Functions

Object Type Description
Enum Class Creates enumerations
IntEnum Class Creates enumerations where members must be integers
StrEnum Class Creates enumerations where members must be strings
auto() Function Automatically assigns values to members

Examples

Defining an enumeration for colors:

Iterating over the members of an enumeration:

Common Use Cases

  • Defining a series of related constants with descriptive names
  • Ensuring constant names are unique and members are immutable
  • Facilitating comparison operations between related constants

Real-World Example

Suppose you’re developing a traffic light control system and need to define the states of a traffic light. You can use the enum module to create an enumeration for this purpose. Here’s an example:

In this example, the enum module allows you to define the traffic light states clearly and use them in a function to determine if traffic can proceed, improving code clarity and maintainability.

Build Enumerations of Constants With Python's Enum

For additional information on related topics, take a look at the following resources: