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 7 · Memory, GC, modern typing`__slots__` — when you're paying for `__dict__` you don't usepredict119 / 161
+150 XP
Aufgabe
📝 **Aufgabe:** Die genaue Ausgabe vorhersagen. Die reguläre Klasse hat „__dict__“; die Slotted-Klasse nicht. Das Setzen eines neuen Attributs ist bei Regular erlaubt und erhöht sich bei Slotted. 📋 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

class Regular:
    def __init__(self, x, y):
        self.x = x
        self.y = y


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

    def __init__(self, x, y):
        self.x = x
        self.y = y


r = Regular(1, 2)
s = Slotted(3, 4)

print(r.x, r.y)
print(s.x, s.y)
print(hasattr(r, "__dict__"))
print(hasattr(s, "__dict__"))

r.extra = "ok"
print(r.extra)

try:
    s.extra = "no"
except AttributeError:
    print("rejected")

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…