Description
This course teaches Object Oriented Design in Python beyond intermediate level. The course solidifies and deepens your knowledge about classes, objects, inheritance and polymorphism. You will learn many Python specific class and object implementation details of construction, overriding and overloading. Work through many exercises that allows you to practice common OOP tasks.
Target audience
Developers who especially benefit from this course, are:
- Python developers who learned the basics of OOP and want a deeper dive into the mechanics of OOP in Python
- developers who bring experience from another OO programming language and want to learn how to use OOP in Python
- self-taught OOP developers who want to improve their skills by learning best practices
Challenges
Students that are interested in this course often know basic OOP features but are not yet aware of Python’s unique language features that allows them to work object oriented in a Pythonic way. This can lead to verbose or inefficient code. It is my goal to teach you up-to-date, preferred ways to work with OOP in Python and make your code structured and maintainable.
What can you do after this course?
- make better decisions when and how to use OOP features in your code
- create more efficient classes by integrating Python’s built-in language features
- embrace the dynamic character of Python by using structural type checking
Topics
- Classes and Objects: Class instantiation, self, data attributes, UML, methods, __str__, __repr__, constructor
- Inheritance: Inherit, extend and override methods, access to base class via super, abstract base class
- OOP in a dynamic language: Dynamically typing, Static type checking, overloading
- Polymorphism: Open-closed principle, type equality, interfaces and protocols
- Encapsulation: Attribute visibility. name mangling, properties
- Classes in Python: Class as object, class variables, class and static methods
Duration
2 hours video time, 3 hours including practicing exercises.
The teacher
This course is taught by Loek van den Ouweland, a senior software engineer with 25 years of professional experience. Loek is the creator of Wunderlist for windows, Microsoft To-do and Mahjong for Windows and loves to teach software engineering.
Who this course is for:
- Python developers who learned the basics of OOP and want a deeper dive into the mechanics of OOP in Python
- developers who bring experience from another OO programming language and want to learn how to use OOP in Python
- self-taught OOP developers who want to improve their skills by learning best practices
Requirements
- Beginner understanding of OOP
- ~1 year experience in Python or another programming language
Last Updated 6/2023
Download Links
Direct Download
Advanced OOP with Python. Beyond the basics..zip (358.7 MB) | Mirror