Introduction
Modules let you share code between classes without the problems of multiple inheritance. They help keep code simple and organized.
You want to add the same behavior to different classes without repeating code.
You need to share methods but your classes already have a parent class.
You want to avoid confusion from inheriting from more than one class.
You want to keep your code easy to understand and maintain.
You want to add features to classes without changing their inheritance.