Junior — Middle
Explain the concept of Mixin in Python and how it is used in object-oriented programming.
sobes.tech AI
Answer from AI
A Mixin in Python is a class designed to add specific behavior or functionality to other classes through multiple inheritance, without needing to be a standalone class.
The main idea: create a class with a set of methods that can be "mixed in" to other classes, extending their capabilities without duplicating code.
Example of usage:
class LoggerMixin:
def log(self, message):
print(f"Log: {message}")
class Worker(LoggerMixin):
def do_work(self):
self.log("Starting work")
# perform work
self.log("Work completed")
w = Worker()
w.do_work()
Here, LoggerMixin adds the log method to the Worker class. This allows for functionality sharing and avoids deep inheritance hierarchies. Mixins are often used for code reuse and organizing cross-functional capabilities.