Previously, when working with APIs, JSON, and configurations, it was often necessary to manually extract the value from an Enum.
For example:
class Status(Enum):
ACTIVE = "active"
When serializing, you would get an enumeration object:
Status.ACTIVErather than a regular string:
"active"In Python 3.11,
StrEnum was introduced to solve this problem.from enum import StrEnum
class Status(StrEnum):
ACTIVE = "active"
BLOCKED = "blocked"
Now, the value can be used wherever a string is expected:
json.dumps({"status": Status.ACTIVE})The result:
{"status": "active"}At the same time, the advantages of enumerations are preserved:
Status.ACTIVEStatus.BLOCKEDYou cannot accidentally pass an incorrect value:
Status("unknown")will result in an error.
🔥
StrEnum allows you to combine the strict typing of enumerations with the convenience of regular strings, without manual conversion when working with APIs, JSON, and configurations.#Python #Coding #StrEnum #DevTips #Programming #Python311
✨ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
