Added example solutions to several chapters. Feel free to create a pull request with your answers. Also for the chapters that have no solutions yet :)
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# Create a metaclass to test if specific classes are inherited.
|
||||
|
||||
|
||||
class SomeBaseClass:
|
||||
pass
|
||||
|
||||
|
||||
class ExpectedBasesMeta(type):
|
||||
_expected_bases = [SomeBaseClass]
|
||||
|
||||
def __new__(cls, name, bases, attrs):
|
||||
for base in cls._expected_bases:
|
||||
if base not in bases:
|
||||
raise TypeError(
|
||||
f'{name} is not inheriting {base}'
|
||||
)
|
||||
return super().__new__(cls, name, bases, attrs)
|
||||
|
||||
|
||||
class Trade(SomeBaseClass, metaclass=ExpectedBasesMeta):
|
||||
pass
|
||||
|
||||
|
||||
class BrokenTrade(metaclass=ExpectedBasesMeta):
|
||||
pass
|
||||
Reference in New Issue
Block a user