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ł 2 · Elementy wewnętrzne i wydajność CPythonGłęboka optymalizacja slotówpredict18 / 161
+100 XP
Zadanie
📝 **Pytanie:** Przewiduj dokładny wynik. \`Point\` deklaruje \`__slots__ = ("x", "y")\`. \`Tagged\` podklasy \`Point\`, ale NIE deklaruje własnych \`__slotów__\`. Trzy pytania: (1) Czy instancja \`Point\` ma \`__dict__\`? (2) Czy instancja „Tagged” ma taką instancję? (3) Czy możesz ustawić \`p.z = 99\` i \`t.z = 99\`? 📋 Wybierz właściwą odpowiedź. 💡 **Wskazówka:** Jeśli nie jesteś pewien, przeczytaj ponownie powyższą teorię.
Przewiduj wynik

Przeczytaj kod uważnie

class Point:
    __slots__ = ("x", "y")
    def __init__(self, x, y):
        self.x = x
        self.y = y


class Tagged(Point):
    pass


p = Point(1, 2)
t = Tagged(3, 4)

print(f"p:{p.x},{p.y}")
print(f"t:{t.x},{t.y}")
print(hasattr(p, "__dict__"))
print(hasattr(t, "__dict__"))

try:
    p.z = 99
    print(f"p.z={p.z}")
except AttributeError:
    print("p:no_z")

t.z = 99
print(f"t.z={t.z}")

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…