This course covers all aspects of object-oriented programming in Python. We will start from encapsulation and an interesting key word __slots__, and then discuss why we need packages and how to make a virtual “sandbox” for a Python project. Next we review function as object and learn why it’s useful for a developer. This section focuses on an important theme – decorator, which can greatly simplify your code with cross-functionality.
Then we move to the object life cycle, and learn how to create your own type on the basis of existing base types and why it is necessary, and what happens when and how an object is created and destroyed. Next, you will learn how to return resources to the system, which it lends to the developer who does not always returns them. You’ll learn how to guarantee that by using the context manager.
After that, we’ll see how to sum up, extract and multiply user classes by using Python’s magic methods. In conclusion, we’ll discuss how to hide the algorithm for bypassing data structures or data generation based on iterates, yield operators, and review the method of data structure generation by using simplified Python syntax.