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 FeaturesMaster OOP fundamentals with hands-on examples and expert insightsLearn design patterns and type hinting with real-world Python 3.13 codeDevelop scalable programs using testing and concurrency best practicesPurchase of the print or Kindle book includes a free PDF eBookBook DescriptionLearn 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 learnWrite Python classes and implement object behaviorsApply inheritance, polymorphism, and compositionUnderstand when to use OOP—and when not toUse type hints and perform static and runtime checksExplore common and advanced design patterns in PythonWrite unit and integration tests with unittest and pytestImplement concurrency with asyncio, futures, and threadsRefactor procedural code into well-designed OOP structuresWho this book is forPython 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 ContentsObject-Oriented DesignObjects in PythonWhen Objects Are AlikeExpecting the UnexpectedWhen to Use Object-Oriented ProgrammingThe ABC's of Abstract Base ClassesPython Type HintsPython Data StructuresThe Intersection of Object-Oriented and Functional ProgrammingThe Iterator PatternCommon Design PatternsAdvanced Design PatternsTesting Object-Oriented ProgramsConcurrency