Python Object Oriented Programming guides Python developers and software engineers through Python’s approach to object-oriented programming, across two intensive days. This is the foundational skillset for structuring state and behavior into well-designed classes in idiomatic Python. Attendees learn how Python implements classes, inheritance, and polymorphism, including distinctive language features like duck typing and dunder methods. The result is maintainable class hierarchies that read clearly and extend cleanly. Attendees leave able to design and build object-oriented Python applications. This builds the foundation needed before moving into more advanced topics such as metaprogramming and framework development.
Day one covers classes and objects in detail, including instance, class, and static methods. Inheritance also gets coverage, including Python’s method resolution order for multiple inheritance. Attendees also work through encapsulation using naming conventions and properties. This builds a clear understanding of how Python controls access to internal state without the strict access modifiers found in other object-oriented languages.
Day two rounds out the core design coverage with polymorphism and composition, including duck typing and method overriding. Operator overloading through dunder methods and composition as an alternative to inheritance round out the coverage, for building flexible object relationships. Attendees also reduce class boilerplate using Python’s dataclasses module and define interfaces using abstract base classes. Through lecture and lab work, attendees design and build real Python class hierarchies. This builds practical experience applying object-oriented principles idiomatically in Python. By completion, attendees have the foundational skills to design and build well-structured, object-oriented Python applications.
Who Should Attend
Python Developers, Software Engineers
What Attendees Will Learn
Upon completing Python Object Oriented Programming, attendees will be able to:
- Define classes and objects using Python’s class syntax
- Differentiate instance, class, and static methods and apply each appropriately
- Implement inheritance to reuse and extend behavior across classes
- Apply encapsulation using naming conventions and properties
- Implement polymorphism through method overriding and duck typing
- Overload operators using Python’s dunder methods
- Design with composition as an alternative to inheritance
- Build data classes using Python’s dataclasses module
Prerequisites
Basic Python programming proficiency is required, including variables, functions, and control flow; attendees unfamiliar with these concepts should complete “RX-M Python Foundation for Developers” first. No prior object-oriented programming experience is necessary, as OOP concepts are covered from the start.