Python Enums Tutorial

📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.

🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.

▶️ Subscribe to My YouTube Channel (176K+ subscribers): Java Guides on YouTube

▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube

Introduction

Enums (short for Enumerations) are a way to define a set of named values. They are useful for representing a collection of related constants and improving code readability and maintainability. Python provides the enum module to create and work with enumerations. This tutorial covers the basics of creating and using Enums in Python.

Table of Contents

  1. What is an Enum?
  2. Creating Enums
  3. Accessing Enum Members
  4. Iterating through Enums
  5. Comparing Enums
  6. Using Enums in Conditional Statements
  7. Enum Methods
  8. Extending Enums
  9. Auto-assigning Values
  10. Conclusion

1. What is an Enum?

An Enum is a symbolic name for a set of values. Enums are treated as data types and you can use them to create sets of constants for use with variables and properties.

2. Creating Enums

To create an Enum, import the Enum class from the enum module and define a class inheriting from Enum.

Example

from enum import Enum class Color(Enum): RED = 1 GREEN = 2 BLUE = 3 print(Color.RED) # Output: Color.RED print(Color.GREEN) # Output: Color.GREEN print(Color.BLUE) # Output: Color.BLUE 

3. Accessing Enum Members

Enum members can be accessed in two ways: by name and by value.

Example

# Accessing by name print(Color.RED) # Output: Color.RED # Accessing by value print(Color(1)) # Output: Color.RED # Accessing name of the member print(Color.RED.name) # Output: RED # Accessing value of the member print(Color.RED.value) # Output: 1 

4. Iterating through Enums

You can iterate through the members of an Enum using a for loop.

Example

for color in Color: print(color) # Output: # Color.RED # Color.GREEN # Color.BLUE 

5. Comparing Enums

Enum members can be compared using identity and equality operators.

Example

# Comparing Enums print(Color.RED == Color.RED) # Output: True print(Color.RED == Color.GREEN) # Output: False # Using identity operator print(Color.RED is Color.RED) # Output: True print(Color.RED is Color.GREEN) # Output: False 

6. Using Enums in Conditional Statements

Enums can be used in conditional statements for more readable code.

Example

favorite_color = Color.RED if favorite_color == Color.RED: print("Your favorite color is red.") elif favorite_color == Color.GREEN: print("Your favorite color is green.") else: print("Your favorite color is blue.") 

7. Enum Methods

Python Enums provide several useful methods.

Example

# List all members of the Enum print(list(Color)) # Output: [<Color.RED: 1>, <Color.GREEN: 2>, <Color.BLUE: 3>] # Get all names of the Enum print([color.name for color in Color]) # Output: ['RED', 'GREEN', 'BLUE'] # Get all values of the Enum print([color.value for color in Color]) # Output: [1, 2, 3] 

8. Extending Enums

Enums cannot be extended once they are created. You can, however, create a new Enum that includes all members of an existing Enum.

Example

from enum import Enum class ExtendedColor(Enum): YELLOW = 4 ORANGE = 5 # Creating a new Enum that includes both Color and ExtendedColor members class CombinedColor(Color, ExtendedColor): pass print(list(CombinedColor)) # Output: [<Color.RED: 1>, <Color.GREEN: 2>, <Color.BLUE: 3>, <ExtendedColor.YELLOW: 4>, <ExtendedColor.ORANGE: 5>] 

9. Auto-assigning Values

You can use the auto() function from the enum module to automatically assign values to the members.

Example

from enum import Enum, auto class AutoColor(Enum): RED = auto() GREEN = auto() BLUE = auto() print(AutoColor.RED.value) # Output: 1 print(AutoColor.GREEN.value) # Output: 2 print(AutoColor.BLUE.value) # Output: 3 

Conclusion

Enums in Python provide a way to define a set of named values, improving code readability and maintainability. By understanding how to create, access, iterate, and compare Enum members, you can effectively use Enums in your Python projects. This tutorial covered the basics of Enums, including creating Enums, accessing members, iterating, comparing, using Enums in conditional statements, Enum methods, extending Enums, and auto-assigning values.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare