class — Advanced Playground
Defines a new class (blueprint for creating objects)
Python Playground
class Loggable:
def log(self, message):
print(f"[{self.__class__.__name__}] {message}")
class Serializable:
def to_dict(self):
return {k: v for k, v in self.__dict__.items()
if not k.startswith("_")}
class User(Loggable, Serializable):
def __init__(self, name, email):
self.name = name
self.email = email
u = User("Alice", "alice@example.com")
u.log("created")
print(u.to_dict())
# Method Resolution Order
print(User.__mro__)
Output
Click "Run" to execute your code
Python uses C3 linearization for MRO. Multiple inheritance lets you compose behaviors from several base classes, but order matters.
Challenge
Try modifying the code above to explore different behaviors. Can you extend the example to handle a new use case?