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-DivesModul 5 · Architektur- und Codeüberprüfung__Slots__ tiefer Einblickpredict69 / 161
+100 XP
Aufgabe
📝 **Frage:** Sagen Sie die genaue Ausgabe voraus. \`Compact\` verwendet \`__slots__ = ("x", "y")\` – kein \`__dict__\`. \`Hybrid(Compact)\` fügt \`__slots__ = ("__dict__")\` hinzu – aktiviert das Diktat pro Instanz für die Unterklasse explizit wieder. Drei Fragen: (1) Kann \`c.z = 99\` erfolgreich sein? (2) Kann \`h.z = 99\` erfolgreich sein? (3) Hat jede Instanz ein „__dict__“? 📋 Wählen Sie die richtige Antwort. 💡 **Hinweis:** Lesen Sie die obige Theorie noch einmal, wenn Sie sich nicht sicher sind.
Sage die Ausgabe vorher

Lies den Code sorgfältig

class Compact:
    __slots__ = ("x", "y")


class Hybrid(Compact):
    __slots__ = ("__dict__",)


c = Compact()
c.x = 1
c.y = 2
try:
    c.z = 99
    print("compact:z_ok")
except AttributeError:
    print("compact:no_z")

h = Hybrid()
h.x = 1
h.y = 2
h.z = 99
print(f"hybrid:{h.x},{h.y},{h.z}")
print(hasattr(c, "__dict__"))
print(hasattr(h, "__dict__"))

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…