Zum Hauptinhalt springen
🔒 Vorschaumodus. Die ersten fünfzehn Foundations-Lektionen sind kostenlos; diese hier ist Pro. Starte einen 7-Tage-Trial, um den Editor, AI-Hinweise und den Rest des Lehrplans freizuschalten. Karte erforderlich, jederzeit im Dashboard kündbar.7-Tage-Trial starten →
← KurseSenior Deep-DivesModule 6 · FAANG-2026 deep dives__init_subclass__ — auto-registration without metaclassespredict116 / 161
+150 XP
Aufgabe
📝 **Aufgabe:** Die genaue Ausgabe vorhersagen. \`Plugin\` registriert seine Unterklassen automatisch. \`TaggedPlugin\` liest einen \`tag\`-Kwarg aus jeder Unterklassendeklaration. Zwei Unterklassen von „Plugin“ und eine von „TaggedPlugin“. Was enthält die Registrierung und was ist „A.tag“? 📋 Implementieren Sie die obige Funktion. Tests laufen automatisch ab. 💡 **Hinweis:** Lesen Sie die Theorie noch einmal, wenn Sie nicht weiterkommen.
Sage die Ausgabe vorher

Lies den Code sorgfältig

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)

Was wird das Programm ausgeben? Schreib hier:

💬 Diskussion

Sei der erste — stelle eine Frage oder teile einen Tipp.
Anmelden um an der Diskussion teilzunehmen. Lesen ist kostenlos.
Diskussion wird geladen…