Challenge 1
Add __init_subclass__ so every new subclass stores its name in Base.created.
class Base:
created = []
class Report(Base):
pass
print(Base.created)
Press Ctrl⌘Enter to check your answer
Practice configuring, validating, and registering subclasses with __init_subclass__.
Challenge 1
class Base:
created = []
class Report(Base):
pass
print(Base.created)
Press Ctrl⌘Enter to check your answer
Challenge 2
class Plugin:
def __init_subclass__(cls, /, ):
cls.kind = kind
class CachePlugin(Plugin, kind="cache"):
pass
print(CachePlugin.kind)
Press Ctrl⌘Enter to check your answer
Challenge 3
class Base:
def __init_subclass__(cls, /, **kwargs):
super().__init_subclass__(**kwargs)
class Configurable(Base):
def __init_subclass__(cls, /, *, mode, **kwargs):
cls.mode = mode
class Child(Configurable, mode="safe"):
pass
print(Child.mode)
Press Ctrl⌘Enter to check your answer
Challenge 4
class Command:
def __init_subclass__(cls, /, **kwargs):
super().__init_subclass__(**kwargs)
class Start(Command):
def run(self):
return "start"
print(Start().run())
Press Ctrl⌘Enter to check your answer