Прескочи на главни садржај
🔒 Режим прегледа. Првих петнаест Foundations лекција је бесплатно; ова је Pro. Покрените 7-дневни trial да откључате едитор, AI савете и остатак курса. Картица је обавезна, можете отказати у било ком тренутку у Dashboard.Покрени 7-дневни trial →
← KurseviSenior Deep-DivesModule 10 · Production idioms (modern Python)@dataclass(kw_only=True, slots=True) — the modern senior defaultpredict143 / 161
+150 XP
Zadatak
📝 **Задатак:** Предвидите излаз од 5 редова. Корисничка класа података са кв_онли=Тачно + слотс=Тачно је конструисана преко кључне речи; тада се покушава позициона конструкција (одбија се); Додељивање атрибута изван слотова је покушај (одбијен). Засебна Мик класа података користи кв_онли по пољу да би форсирала кључну реч `б` док задржава `а` и `ц` позицију. 📋 Имплементирајте горњу функцију. Тестови се покрећу аутоматски. 💡 **Савет:** Поново прочитајте теорију ако запнете.
Predvidi izlaz

Pažljivo pročitaj kod

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)

Šta će program ispisati? Napiši ovde:

💬 Diskusija

Budi prvi — postavi pitanje ili podeli savet.
Prijavi se da bi se pridružio diskusiji. Čitanje je besplatno.
Učitavanje diskusije…