This hands-on guide empowers Python developers to write clean, production-ready code using real-world OOP, design patterns, and concurrency tools. Fully updated for Python 3.13 with new type hinting and modern software engineering practices.
Key Features
- Master OOP fundamentals with hands-on examples and expert insights
- Learn design patterns and type hinting with real-world Python 3.13 code
- Develop scalable programs using testing and concurrency best practices
- Purchase of the print or Kindle book includes a free PDF eBook
Book Description
Learn to write effective, maintainable, and scalable Python applications by mastering object-oriented programming with this updated fifth edition. Whether you’re transitioning from scripting to structured development or refining your OOP skills, this book offers a clear, practical path forward.
You’ll explore Python’s approach to OOP, from class creation and inheritance to polymorphism and abstraction, while discovering how to make smarter decisions about when and how to use these tools. You’ll apply what you learn through hands-on examples and exercises.
Updated for Python 3.13, this edition simplifies complex topics such as abstract base classes, testing with unittest and pytest, and async programming with asyncio. It introduces a new chapter on Python’s type hinting ecosystem—crucial for modern Python development.
Written by long-time Python experts Steven Lott and Dusty Phillips, this edition emphasizes clarity, testability, and professional software engineering practices. It helps you move beyond scripting to building well-structured, production-ready Python systems.
By the end of this book, you’ll be confident in applying OOP principles, design patterns, type hints, and concurrency tools to create robust and maintainable Python applications.
What you will learn
- Write Python classes and implement object behaviors
- Apply inheritance, polymorphism, and composition
- Understand when to use OOP—and when not to
- Use type hints and perform static and runtime checks
- Explore common and advanced design patterns in Python
- Write unit and integration tests with unittest and pytest
- Implement concurrency with asyncio, futures, and threads
- Refactor procedural code into well-designed OOP structures
Who this book is for
Python developers who want to deepen their understanding of object-oriented programming to write maintainable, scalable, and professional-grade code. Ideal for developers transitioning from scripting to software engineering or those coming from other OOP languages looking to master Python’s idiomatic approach. Basic Python knowledge is required.
Table of Contents
- Object-Oriented Design
- Objects in Python
- When Objects Are Alike
- Expecting the Unexpected
- When to Use Object-Oriented Programming
- The ABC's of Abstract Base Classes
- Python Type Hints
- Python Data Structures
- The Intersection of Object-Oriented and Functional Programming
- The Iterator Pattern
- Common Design Patterns
- Advanced Design Patterns
- Testing Object-Oriented Programs
- Concurrency
Steven Lott has been programming since computers were large, expensive, and rare. Working for decades in high tech has given him exposure to a lot of ideas and techniques, some bad, but most are helpful to others. Since the 1990s, Steven has been engaged with Python, crafting an array of indispensable tools and applications. His profound expertise has led him to contribute significantly to Packt Publishing, penning notable titles like "Mastering Object-Oriented," "The Modern Python Cookbook," and "Functional Python Programming." A self-proclaimed technomad, Steven's unconventional lifestyle sees him travelling back and forth across the US. He tries to live by the words “Don't come home until you have a story.”
Dusty Phillips is a Canadian software developer known for authoring several popular programming books.