Introduction to Object Oriented Programming with Python Part 1 - Creating classes Part 2 - Overriding built-in methods Part 3 - User-defined methods Part 4 - Using decorators Part 5 - Inheritance