Leggi il codice attentamente
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)
Cosa stamperà il programma? Scrivi qui: