Enums in Python
Enums in Python : Enumerate Your Values
Section titled “Enums in Python : Enumerate Your Values”Enums are a way to create a set of symbolic names (members) bound to unique, constant values. They are a way to define a set of named constants. Enums are defined using the enum module. Enumerations are created using classes. Enums have names and values associated with them. Enums are defined by creating a new class that inherits from Enum. Enums can be iterated over. Enums can be compared using == and is.
Syntax
Section titled “Syntax”The syntax for creating an Enum in Python is as follows:
from enum import Enum
class EnumName(Enum):
MEMBER1 = value1
MEMBER2 = value2
MEMBER3 = value3
...In the above syntax:
EnumNameis the name of the Enum.MEMBER1,MEMBER2,MEMBER3, etc. are the members of the Enum.value1,value2,value3, etc. are the values associated with the members.
Creating Enums
Section titled “Creating Enums”To create an Enum, you need to import the Enum class from the enum module. Then, you can create a new class that inherits from Enum. Each member of the Enum is defined as a class attribute. The value of the member is passed as an argument to the Enum constructor. The value of the member can be any type, such as an integer, string, or float.
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3In the above code:
Coloris the name of the Enum.RED,GREEN, andBLUEare the members of the Enum.1,2, and3are the values associated with the members.- The members of the Enum are accessed using the dot notation, e.g.,
Color.RED,Color.GREEN,Color.BLUE. - The members of the Enum can be compared using
==andis.
Iterating Over Enums
Section titled “Iterating Over Enums”Enums can be iterated over using a for loop. When you iterate over an Enum, you get the members of the Enum.
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
for color in Color:
print(color)In the above code, the output will be:
C:/Users/username/desktop>python enum.py
Color.RED
Color.GREEN
Color.BLUEComparing Enums
Section titled “Comparing Enums”Enums can be compared using the == and is operators. When you compare two Enums using the == operator, it compares the values of the Enums. When you compare two Enums using the is operator, it compares the memory addresses of the Enums.
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
color1 = Color.RED
color2 = Color.RED
print(color1 == color2) # Output: True
print(color1 is color2) # Output: TrueIn the above code, the output will be:
C:/Users/username/desktop>python enum.py
True
TrueEnum Members
Section titled “Enum Members”You can access the members of an Enum using the dot notation. The members of an Enum are instances of the Enum class.
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
print(Color.RED)
print(Color.GREEN)
print(Color.BLUE)In the above code, the output will be:
C:/Users/username/desktop>python enum.py
Color.RED
Color.GREEN
Color.BLUEAccessing Enum Members
Section titled “Accessing Enum Members”You can access the members of an Enum using the dot notation. The members of an Enum are instances of the Enum class.
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
currentColor = Color.RED
print(type(currentColor))
print(currentColor.name)
print(currentColor.value)In the above code, the output will be:
C:/Users/username/desktop>python enum.py
<enum 'Color'>
RED
1In the above code:
currentColoris an instance of theColorEnum.currentColor.namereturns the name of the Enum member.currentColor.valuereturns the value of the Enum member.
Accessing Enum Members using Iteration
Section titled “Accessing Enum Members using Iteration”You can access the members of an Enum using iteration. When you iterate over an Enum, you get the members of the Enum.
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
for color in Color:
print(color.name, color.value)In the above code, the output will be:
C:/Users/username/desktop>python enum.py
RED 1
GREEN 2
BLUE 3A Real-World Example
Section titled “A Real-World Example”Here is a real-world example of using Enums in Python. In this example, we define an Enum called Weekday that represents the days of the week. We then create a function that takes a Weekday Enum as an argument and prints the name of the day.
from enum import Enum
class Weekday(Enum):
MONDAY = 1
TUESDAY = 2
WEDNESDAY = 3
THURSDAY = 4
FRIDAY = 5
SATURDAY = 6
SUNDAY = 7
def print_day(day):
print(day.name)
print_day(Weekday.MONDAY)
print_day(Weekday.FRIDAY)In the above code, the output will be:
C:/Users/username/desktop>python enum.py
MONDAY
FRIDAYConclusion
Section titled “Conclusion”In this tutorial, you learned about Enums in Python. Enums are a way to create a set of symbolic names (members) bound to unique, constant values. Enums are defined using the enum module. Enums are created using classes. Enums have names and values associated with them. Enums can be iterated over. Enums can be compared using == and is. For more information on Enums, you can refer to the official documentation. For more tutorials on Python Central Hub.
Try it: Enum Exercises
Section titled “Try it: Enum Exercises”Exercise 1 – Basic Enum
Section titled “Exercise 1 – Basic Enum”Exercise 2 – Iterating Enum
Section titled “Exercise 2 – Iterating Enum”Exercise 3 – Enum Comparison
Section titled “Exercise 3 – Enum Comparison”pch.coffeeTagline
pch.coffeeCtapch.feedbackHeading
pch.feedbackSubheading