Solid Principles, Python.
abstraction. This is a break in the dependency chain. It does not matter what happens in LaserPRinter. The reporting module doesn’t even know there is such a thing as a laser printer. All it knows is that there is something with a method called print_recipt. So how do we hook this up in Python?