What you'll learn:
- Learn four concepts of object oriented programming
- Understand why it is worth using object oriented programming
- Understand the difference between an object and a class
- Learn about attributes and methods
- Understand self and __init__ method
- Private attributes in Python
- Getter, setter and @property decorator in Python
- Inheritance - base classes and derived classes
- Multiple inheritance and MRO
- super() function
- Special / Dunder methods - __len__ __repr__ __str__ __add__ __lt__ and others
- Understand the difference between self and cls
- @classmethod @staticmethod
- Polymorphism - duck typing and interface
- Coding Tips & Tricks
- A lot of interesting examples!
- Exercises with sample solutions
- 10 Python interview questions & answers about object oriented programming
- Write better and cleaner code
In the course, I am explaining in detail basic concepts about object oriented programming. I am showing how can you use those concepts in Python. Python, in comparison to other programming languages (Java, C #) has its own way of presenting certain object oriented programming concepts, which can be unusual for people who did not use Python before.
Knowledge of object oriented programming is necessary when applying for a Junior Developer job. Therefore at the end of the course, I have prepared 10 interview questions that might appear during the recruitment process. Each question has a proposed answer.
In each chapter, I am explaining the theory of a given topic with an example of implementation in Python. In addition, at the end of each chapter, I have prepared homework to test your knowledge.
Course content:
Basic information about classes and objects
Encapsulation - getters, setters and @property
Inheritance
Special / magic methods in Python
Instance, class, and static methods in Python
Polymorphism in Python
If you would like to learn how object oriented programming is used in Python, I think I can help you :)