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-DivesModule 6 · FAANG-2026 deep divesdataclass field(default_factory) — the mutable-default blockpredict114 / 161
+150 XP
Zadanie
📝 **Zadanie:** Przewiduj dokładny wynik. (1) Spróbuj zdefiniować klasę danych \`Bad\` za pomocą \`items: list = []\` — złap błąd ValueError. (2) Zdefiniuj \`Dobry\` za pomocą \`field(default_factory=list)\`. (3) Utwórz dwie instancje, dołącz do jednej listy, a następnie wydrukuj obie listy + sprawdź tożsamość. Czy \`g2\` widzi dodatek? 📋 Zaimplementuj powyższą funkcję. Testy uruchamiają się automatycznie. 💡 **Wskazówka:** Jeśli utkniesz, przeczytaj ponownie teorię.
Przewiduj wynik

Przeczytaj kod uważnie

from dataclasses import dataclass, field


try:
    @dataclass
    class Bad:
        items: list = []
except ValueError as e:
    print(f"err:{e}")


@dataclass
class Good:
    items: list = field(default_factory=list)


g1 = Good()
g2 = Good()
g1.items.append(1)
print(g1.items)
print(g2.items)
print(g1.items is g2.items)

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…