Zum Hauptinhalt springen
🔒 Vorschaumodus. Die ersten fünfzehn Foundations-Lektionen sind kostenlos; diese hier ist Pro. Starte einen 7-Tage-Trial, um den Editor, AI-Hinweise und den Rest des Lehrplans freizuschalten. Karte erforderlich, jederzeit im Dashboard kündbar.7-Tage-Trial starten →
← KurseSenior Deep-DivesModule 10 · Production idioms (modern Python)enum.StrEnum — type-safe strings that serialise like stringspredict145 / 161
+150 XP
Aufgabe
📝 **Aufgabe:** Vorhersage der 9-Zeilen-Ausgabe. Ein StrEnum „Status“ hat 3 Mitglieder. Die Lektionsübungen: print(member) gibt den VALUE und nicht den qualifizierten Namen aus (die StrEnum-Überraschung); == Vergleich mit einfacher Zeichenfolge ist wahr; isinstance(member, str) ist True; Die F-String-Interpolation gibt den Wert aus. Die Suche nach Werten funktioniert und die Zugriffsfunktion für die Suche nach Namen funktioniert. Ungültige Suche löst ValueError aus; Die Iteration folgt der Deklarationsreihenfolge. 📋 Implementieren Sie die obige Funktion. Tests laufen automatisch ab. 💡 **Hinweis:** Lesen Sie die Theorie noch einmal, wenn Sie nicht weiterkommen.
Sage die Ausgabe vorher

Lies den Code sorgfältig

from enum import StrEnum


class Status(StrEnum):
    PENDING = "pending"
    ACTIVE = "active"
    CANCELLED = "cancelled"


s = Status.ACTIVE

# 1. print(member) — the StrEnum surprise: value, NOT Status.ACTIVE
print(s)
# 2. Equal to the plain string
print(s == "active")
# 3. .value accessor (same as print here, but explicit)
print(s.value)
# 4. isinstance(member, str) — StrEnum members ARE strings
print(isinstance(s, str))
# 5. f-string interpolation uses str(member) = the value
print(f"status: {s}")

# 6. Lookup by value — print(member) again returns value
print(Status("pending"))
# 7. .name accessor — capital identifier
print(Status("pending").name)

# 8. Invalid value
try:
    Status("nope")
except ValueError:
    print("invalid value")

# 9. Iteration order = declaration order
print([m.value for m in Status])

Was wird das Programm ausgeben? Schreib hier:

💬 Diskussion

Sei der erste — stelle eine Frage oder teile einen Tipp.
Anmelden um an der Diskussion teilzunehmen. Lesen ist kostenlos.
Diskussion wird geladen…