Python Object-Oriented Programming: Learn how and when to apply OOP principles to build scalable and maintainable Python applications - Softcover

Steven F. Lott; Dusty Phillips

 
9781836642596: Python Object-Oriented Programming: Learn how and when to apply OOP principles to build scalable and maintainable Python applications

Synopsis

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

  1. Object-Oriented Design
  2. Objects in Python
  3. When Objects Are Alike
  4. Expecting the Unexpected
  5. When to Use Object-Oriented Programming
  6. The ABC's of Abstract Base Classes
  7. Python Type Hints
  8. Python Data Structures
  9. The Intersection of Object-Oriented and Functional Programming
  10. The Iterator Pattern
  11. Common Design Patterns
  12. Advanced Design Patterns
  13. Testing Object-Oriented Programs
  14. Concurrency

"synopsis" may belong to another edition of this title.

About the Authors

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.

"About this title" may belong to another edition of this title.