SOLID Principles with Python