Прескочи на главни садржај
🔒 Режим прегледа. Првих петнаест Foundations лекција је бесплатно; ова је Pro. Покрените 7-дневни trial да откључате едитор, AI савете и остатак курса. Картица је обавезна, можете отказати у било ком тренутку у Dashboard.Покрени 7-дневни trial →
← KurseviSenior Deep-DivesModule 6 · FAANG-2026 deep dives__init_subclass__ — auto-registration without metaclassespredict116 / 161
+150 XP
Zadatak
📝 **Задатак:** Предвидите тачан резултат. \`Плугин\` аутоматски региструје своје подкласе. \`ТаггедПлугин\` чита \`ознаку\` кварг из сваке декларације подкласе. Две подкласе \`Плугин\` и једна од \`ТаггедПлугин\`. Шта садржи регистар, а шта је \`А.таг\`? 📋 Имплементирајте горњу функцију. Тестови се покрећу аутоматски. 💡 **Савет:** Поново прочитајте теорију ако запнете.
Predvidi izlaz

Pažljivo pročitaj kod

class Plugin:
    registry = {}

    def __init_subclass__(cls, **kwargs):
        super().__init_subclass__(**kwargs)
        Plugin.registry[cls.__name__] = cls


class ImageProcessor(Plugin):
    pass


class TextProcessor(Plugin):
    pass


print(sorted(Plugin.registry.keys()))
print(Plugin.registry["ImageProcessor"].__name__)


class TaggedPlugin:
    def __init_subclass__(cls, *, tag="unset", **kwargs):
        super().__init_subclass__(**kwargs)
        cls.tag = tag


class A(TaggedPlugin, tag="alpha"):
    pass


print(A.tag)

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