Object Oriented Programming in Python - Aided with Diagrams