Przejdź do treści głównej
🔒 Tryb podglądu. Pierwszych piętnaście lekcji Foundations jest darmowych; ta jest Pro. Rozpocznij 7-dniowy trial, aby odblokować edytor, podpowiedzi AI i resztę kursu. Wymagana karta, anulujesz w dowolnym momencie w Dashboard.Rozpocznij 7-dniowy trial →
← KursySenior Deep-DivesModuł 5 · Przegląd architektury i kodu__sloty__ głębokie nurkowaniepredict69 / 161
+100 XP
Zadanie
📝 **Pytanie:** Przewiduj dokładny wynik. \`Compact\` używa \`__slots__ = ("x", "y")\` — nie \`__dict__\`. \`Hybrid(Compact)\` dodaje \`__slots__ = ("__dict__",)\` — jawnie ponownie włącza dyktowanie poszczególnych instancji w podklasie. Trzy pytania: (1) Czy \`c.z = 99\` może się udać? (2) Czy \`h.z = 99\` może się udać? (3) Czy każda instancja ma \`__dict__\`? 📋 Wybierz właściwą odpowiedź. 💡 **Wskazówka:** Jeśli nie jesteś pewien, przeczytaj ponownie powyższą teorię.
Przewiduj wynik

Przeczytaj kod uważnie

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__"))

Co wypisze program? Napisz tutaj:

💬 Dyskusja

Zadaj pierwsze pytanie lub podziel się wskazówką.
Zaloguj się aby dołączyć do dyskusji. Czytanie jest darmowe.
Ładowanie dyskusji…