Прескочи на главни садржај
🔒 Режим прегледа. Првих петнаест Foundations лекција је бесплатно; ова је Pro. Покрените 7-дневни trial да откључате едитор, AI савете и остатак курса. Картица је обавезна, можете отказати у било ком тренутку у Dashboard.Покрени 7-дневни trial →
← KurseviSenior Deep-DivesModule 6 · FAANG-2026 deep divesDescriptor lookup order — data vs non-datapredict106 / 161
+150 XP
Zadatak
📝 **Задатак:** Предвидите тачан резултат. Два дескриптора: \`ДатаДесц\` дефинише и \`__гет__\` И \`__сет__\` (дескриптор података); \`НонДатаДесц\` дефинише само \`__гет__\` (без података). Оба су атрибути класе на \`Холдер\`. Затим тест директно убацује вредности у \`__дицт__\` инстанце — заобилазећи протокол дескриптора. Који побеђује за \`х.д\`, а који за \`х.н\`? 📋 Имплементирајте горњу функцију. Тестови се покрећу аутоматски. 💡 **Савет:** Поново прочитајте теорију ако запнете.
Predvidi izlaz

Pažljivo pročitaj kod

class DataDesc:
    def __get__(self, instance, owner):
        print("data:get")
        return 1
    def __set__(self, instance, value):
        print(f"data:set:{value}")


class NonDataDesc:
    def __get__(self, instance, owner):
        print("nondata:get")
        return 2


class Holder:
    d = DataDesc()
    n = NonDataDesc()


h = Holder()
h.__dict__["d"] = "shadow_d"
h.__dict__["n"] = "shadow_n"

print(h.d)
print(h.n)

Š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…