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-DivesModule 10 · Production idioms (modern Python)@dataclass(kw_only=True, slots=True) — the modern senior defaultpredict143 / 161
+150 XP
Feladat
📝 **Feladat:** Jósolja meg az 5 soros kimenetet. A kw_only=True + slots=Igaz értékkel rendelkező felhasználói adatosztály kulcsszón keresztül jön létre; ezt követően megkísérlik a pozicionálást (elutasítani); attribútum-hozzárendelést a slotokon kívül próbáltak meg (elutasítva). Egy külön Mix adatosztály a mezőnkénti kw_only-t használja a "b" kulcsszó kényszerítésére, miközben az "a" és "c" pozícióban marad. 📋 Valósítsa meg a fenti funkciót. A tesztek automatikusan futnak. 💡 **Tipp:** Ha elakad, olvassa el újra az elméletet.
Találd ki a kimenetet

Olvasd el a kódot figyelmesen

from dataclasses import dataclass, field


@dataclass(kw_only=True, slots=True)
class User:
    id: int
    name: str
    email: str


u = User(id=42, name="Ada", email="ada@x.com")
print(u)
print(hasattr(u, "__dict__"))

try:
    User(42, "Ada", "ada@x.com")
except TypeError as e:
    print("positional rejected" if "positional" in str(e).lower() else "rejected")

try:
    u.extra = "no"
except AttributeError:
    print("attrs locked")


@dataclass
class Mix:
    a: int
    b: int = field(kw_only=True)
    c: int = 0


m = Mix(1, c=3, b=2)
print(m)

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…