Real Python Object Oriented Programming Oop Class Types