Ugrás a fő tartalomra
🔒 Előnézet mód. Az első tizenöt Foundations lecke ingyenes; ez Pro. Indíts 7 napos trial-t, hogy feloldd a szerkesztőt, az AI tippeket és a tananyag többi részét. Kártya szükséges, bármikor lemondhatod a Dashboard-ban.7 napos trial indítása →
← KurzusokSenior Deep-Dives2. modul · CPython belsők és teljesítményA slotok mélyreható optimalizálásapredict18 / 161
+100 XP
Feladat
📝 **Kérdés:** Jósolja meg a pontos kimenetet. A \`Point\` deklarálja a \`__slots__ = ("x", "y")\`. A \`Címkézett\` alosztályok a \`Point\`-t, de NEM deklarálják a saját \`__slots__\`. Három kérdés: (1) Van a \`Point\` példánynak \`__dict__\`? (2) Van a \`Tagged\` példánynak? (3) Beállíthatja a következőt: \`p.z = 99\` és \`t.z = 99\`? 📋 Válassza ki a megfelelő választ. 💡 **Tipp:** Ha nem biztos benne, olvassa el újra a fenti elméletet.
Találd ki a kimenetet

Olvasd el a kódot figyelmesen

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

Mit ír ki a program? Írd ide:

💬 Beszélgetés

Légy az első — tegyél fel kérdést vagy oszd meg egy tippet.
Jelentkezz be hogy csatlakozz a beszélgetéshez. Az olvasás ingyenes.
Beszélgetés betöltése…