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.