Advanced Python: API Design with Object Orientation
Published by Pearson
Write APIs that "just work"
- Learn how to apply OOP to improve Python code quality, maintainability, and scalability as projects grow in complexity
- Work effectively with Python's built-in classes and third-party libraries
- Build a game that applies all of the key OO concepts
Learn how to write APIs that “just work” regardless of your role or use case. You'll learn the mechanics and rules to maximize code reuse (or contribute to libraries or frameworks that can be shared). We’ll touch on closures, generators, for-loops, and with-context managers to provide the necessary background and mechanics before tackling the rules and conventions you need to be aware of to design your extensions to the Python “vocabulary.” Finally, we’ll apply our knowledge to implement a fun game so you can see how it all comes together!
What you’ll learn and how you can apply it
- Write cleaner, more maintainable code by understanding advanced Python concepts and solve complex problems more effectively using closures, generators, and context manager design principles.
- Design scalable and robust APIs and libraries using the principles of encapsulation and object-orientation.
This live event is for you because...
- You are an Intermediate to Advanced Python user.
- You want to write code to maximize reuse, or to write or contribute to libraries or frameworks that can be shared with colleagues.
- You want to write APIs that "just work.”
- You are a data scientist (although the topics will be relevant to any role or use case).
Prerequisites
- Python experience (≥1k lines of code)
- Broad familiarity with Python syntax.
- Have written at least one
class
- (Optional) OO in other languages (e.g., Java, C++)
Recommended Preparation
- Read: Python Distilled by David Beazley
Recommended Follow-up
- Read: Effective Python, 2nd Edition, by Brett Slatkin
- Read: Effective Python: 125 Specific Ways to Write Better Python, 3rd Edition, by Brett Slatkin
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Segment 1: Background (50 mins)
- What are closures?
- What are generators?
- How do they relate to the idea of “encapsulation”?
- Q&A
Break (10 mins)
Segment 2: Mechanics (50 mins)
- What are the syntactical mechanics underlying
for
-loops,with
-context managers, etc.? - Q&A
Break (10 mins)
Segment 3: Design & Rules (50 mins)
- How do I design my extensions to the Python “vocabulary”?
- What are the rules and conventions I need to be aware of?
- Q&A
Break (10 mins)
Segment 4: Application (50 mins)
- How do I apply all of the previous concepts to implement a fun game?
- Q&A
Course wrap-up and next steps (10 minutes)
Your Instructor
James Powell
James Powell is a world-renowned expert in data science and open source scientific computing. His subject mastery and guidance are sought after by global organizations for consulting, coaching, and staff training. He is one of the most prolific speakers in the community, and he shares new content each week on his YouTube page, LinkedIn, and Discord.
In addition to O’Reilly Online Learning, James and his team at Don't Use This Code provide Python training and consulting services. He would love to talk to you about how your team uses open source tools for AI/ML - e-mail him at james@dutc.io.
James’s courses are dense and fast-paced. Be sure to stay for the full session and don’t worry if it goes by quickly. You’ll want to re-watch the video later to capture all of the details.