What Is Enum Data Type in Python?

//

Scott Campbell

The enum data type in Python is a powerful feature that allows you to define a set of named values. It provides a way to represent a set of predefined values as named constants, making your code more readable and maintainable.

Creating an Enum

To create an enum in Python, you need to import the enum module:


import enum

You can then define your own enum class by subclassing the enum.Enum class:


class Color(enum.Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

The above code defines an enum called Color with three possible values: RED, GREEN, and BLUE. Each value is assigned an integer value starting from 1.

Accessing Enum Values

You can access the values of an enum using dot notation:


print(Color.RED)   # Output: Color.RED
print(Color.GREEN) # Output: Color.GREEN
print(Color.BLUE)  # Output: Color.BLUE

The output shows that each value is represented by its name prefixed with the enum’s name.

Comparing Enum Values

You can compare enum values using the normal comparison operators such as ==, !=, >, <, etc.:


color1 = Color.RED
color2 = Color.GREEN

print(color1 == color2)   # Output: False
print(color1 != color2)   # Output: True
print(color1 < color2)  # Output: True

As shown in the example, enum values are distinct and can be compared using the available operators.

Iterating Over Enum Values

You can iterate over the values of an enum using a for loop:


for color in Color:
    print(color)

The output will display all the possible values of the Color enum:


Color.RED
Color.GREEN
Color.BLUE

Accessing Enum Names and Values

You can access the names and values of an enum using the name and value attributes respectively:


print(Color.RED.name)     # Output: RED
print(Color.value)    # Output: 1
print(Color.GREEN.name)   # Output: GREEN
print(Color.value)  # Output: 2

The above code demonstrates how to access the name and value of each enum constant.

Using Enums in Conditional Statements

You can use enums in conditional statements such as if-else or switch-case:


color = Color.RED

if color == Color.RED:
    print("Selected color is red.") elif color == Color.GREEN:
    print("Selected color is green.") 

elif color == Color.BLUE:
    print("Selected color is blue.") else:
    print("Invalid color selection.") 

The output will be “Selected color is red.” as the conditional statement matches the value of the color variable with the enum constant Color.RED.

Conclusion

The enum data type in Python provides a convenient way to represent a set of named values. It enhances code readability and maintainability by allowing you to work with meaningful constants instead of arbitrary integers or strings. Understanding how to define and use enums will help you write cleaner and more organized code.

Discord Server - Web Server - Private Server - DNS Server - Object-Oriented Programming - Scripting - Data Types - Data Structures

Privacy Policy