Pythonic object-oriented programming
Published by O'Reilly Media, Inc.
Understanding OOP Using Python 3
Course Outcomes:
- Confidently write robust, high-quality, object oriented Python code
- Understand how encapsulation, composition, and inheritance can "supercharge" your code
- Master time-tested, universal principles of OOP... And how to express them in modern Python
Writing software is a brutal war with complexity. Object-oriented programming (OOP) is your most powerful tool to fight back and win.
If you code in Python, but never mastered OOP, this course is for you. This mesmerizing two-day, hands-on training gives you a solid understanding of foundational OOP concepts like inheritance, polymorphism, and composition... and how to express them in Python's rich (and unique!) object system.
You'll build on your Python knowledge to leverage the benefits of OOP for code reuse, modularity, flexibility, and encapsulation. And you'll be delighted by your sudden ability to write more powerful, complex, and impactful software than ever before. If you're already an OOP veteran, this course ramps you up fast with Python's special object system, and discover how to express valuable object patterns using battle-tested Python idioms (and the surprising ways they differ from other languages).
OOP will dramatically increase the quality and scope of software you create... In Python, and every other language you use in the future. Whether you are brand new to objects, or if you've been writing classes in Python for years, you're going to learn way more than you think.
What you’ll learn and how you can apply it
- Improve the maintainability and organization of your code
- Leverage powerful classes and patterns in the code you write
- Impress in interviews with your OOP knowledge
- Transfer this knowledge to other object-oriented languages
This live event is for you because...
- Data scientists who know how to write number-crunching Python scripts, and are ready to upgrade them into sophisticated, powerful applications.
- Sysadmin or DevOps engineers who want to start writing more robust and powerful scripts.
- QA engineers sick and tired of writing the same scripts over and over who want to work with higher-level abstractions.
- Self-taught programmers who know how to write some useful software but are painfully aware of the gaps in your OOP knowledge.
Prerequisites
- Complete the Python Labs Prep
- The ability to write Python scripts using functions, lists, and dictionaries
- Have Python 3.8+ installed on your machine. Earlier versions are NOT acceptable for this class
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Day 1:
- The Key Ideas Of Powerful Objects
- Writing Simple (And Useful) Python Classes
- Leveraging Methods, And Python's special requirements for them
- Encapsulation And Data Hiding
- Inheritance and "is-a" relationships
Day 2:
- The Different Kinds of Inheritance Hierarchies
- Interfaces and Abstract Methods
- The Single-Responsibility and Substitution Principles
- Gracefully Refactoring Your Classes As Requirements Evolve
- Python Data Classes
- Wrap-up and Q&A
Your Instructor
Aaron Maxwell
Aaron Maxwell is author of the book "Powerful Python: The Most Impactful Patterns, Features, and Development Strategies Modern Python Provides." As a software engineer, he has worked in devops, test automation, and machine learning, and now divides his time between coding, writing, and teaching