Using Enums in Python

Senior Data Engineer • Contractor / Freelancer • GCP & AWS Certified
Search for a command to run...

Senior Data Engineer • Contractor / Freelancer • GCP & AWS Certified
No comments yet. Be the first to comment.
Concise guides to Python features and patterns most useful for data engineering — from built-ins to standard library modules.
Python users, ever needed a light data container (like a dictionary) but wanted to access members using the dot (.) notation? There are a couple of options to choose from: namedtuple, SimpleNamespaceand dataclass. Here's how they all differ: 1️⃣ name...
Here's a useful Dataform concept: pre_operations and post_operations. As the name implies, these represent a set of actions that run before and after the main operation (table, view, or SQL operations

BigQuery has always been a SQL engine for tabular data. Object tables add an interesting twist to that. Instead of rows containing values, an object table gives you one row per file — pointing at da

Query your data lake with warehouse-grade security and performance — without moving a single file.

Ever run a heavy BigQuery SQL query, processed gigabytes of data — and then accidentally closed the tab or forgot to save the results? 😬 Don't re-run it. Your results are still there. BigQuery automa

You can use query parameters in BigQuery hashtag#SQL (now in the console as well!) — but how are they different from variables, and when should you use each? Both parameters and variables act as place

Crafting readable, maintainable, and organized code is a North Star of Software Engineering. Let's look at a quick tip that nudges us towards this ideal.
Have you encountered Enums in #Python yet?
Enums, short for "enumerations", represent a distinct set of values. They help enhance code quality in several ways:
1️⃣ Readability: Attach descriptive names to values, simplifying code comprehension.
2️⃣ Type-safety: Minimize the risk of assigning invalid values.
3️⃣ Code organization: Cluster related values together.
4️⃣ Eliminate magic values: Define values in a single location, rather than scattering them throughout your code.
5️⃣ Better maintainability: Modify values centrally, reducing scattered updates.
from enum import Enum
class Direction(Enum):
NORTH = "N"
SOUTH = "S"
EAST = "E"
WEST = "W"
# Accessing the enum:
print(Direction.NORTH) # Direction.NORTH
print(Direction.NORTH.name) # 'NORTH'
print(Direction.NORTH.value) # 'N'
Coding isn't just about getting it to work; it's about clarity, maintainability, and minimizing errors. Enums in Python can be a helpful tool in this journey! 🧰
Found it useful? Subscribe to my Analytics newsletter at notjustsql.com.
Enjoyed this? Here are some related articles you might find useful: