SOLID principles illustrated in simple Python examples

SOLID principles facilitate testing, maintenance and readability of code, as well as more agile software deployment, greater code reusability and scalability, and improved bug debugging.