Към основното съдържание
🔒 Режим за преглед. Първите петнадесет урока на Foundations са безплатни; този е Pro. Стартирайте 7-дневен trial, за да отключите редактора, AI подсказките и останалата част от курса. Изисква се карта, отменете по всяко време в Dashboard.Стартирай 7-дневен trial →
← КурсовеSenior Deep-DivesModule 6 · FAANG-2026 deep divesdataclass field(default_factory) — the mutable-default blockpredict114 / 161
+150 XP
Задача
📝 **Задача:** Предскажете точния резултат. (1) Опитайте да дефинирате клас данни \`Bad\` с \`items: list = []\` — хванете ValueError. (2) Дефинирайте \`Добър\` с \`field(default_factory=list)\`. (3) Създайте два екземпляра, добавете към единия списък, след което отпечатайте и двата списъка + проверете самоличността. \`g2\` вижда ли добавянето? 📋 Приложете функцията по-горе. Тестовете се изпълняват автоматично. 💡 **Съвет:** Прочетете отново теорията, ако се затрудните.
Предскажи изхода

Прочети кода внимателно

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)

Какво ще изведе програмата? Напиши тук:

💬 Дискусия

Бъди първи — задай въпрос или сподели съвет.
Влез за да се присъединиш към дискусията. Четенето е безплатно.
Зареждане на дискусията…