• Open Daily: 10am - 10pm
    Alley-side Pickup: 10am - 7pm

    3038 Hennepin Ave Minneapolis, MN
    612-822-4611

Open Daily: 10am - 10pm | Alley-side Pickup: 10am - 7pm
3038 Hennepin Ave Minneapolis, MN
612-822-4611
Software Design for Python Programmers: Principles and Patterns

Software Design for Python Programmers: Principles and Patterns

Paperback

Programming

ISBN10: 1633439496
ISBN13: 9781633439498
Publisher: Manning Publications
Published: Feb 17 2026
Pages: 456
Weight: 1.20
Height: 1.43 Width: 7.41 Depth: 9.22
Language: English
Get a free eBook (PDF or ePub) from Manning as well as access to the online liveBook format (and its AI assistant that will answer your questions in any language) when you purchase the print book.

This book shows you how to level up from writing Python code to designing Python applications. Following intuitive before and after examples of improved code, you'll learn to plan and execute Python applications effectively and avoid bugs associated with unmanaged state, poorly-formed classes, inflexible functions, and more.

Great applications take advantage of established design principles and patterns that maximize performance, maintainability, and reliability. This book helps you master the Pythonic approach to architectural principles, such as encapsulation, abstraction, method variation, and more. The examples are in Python, but the techniques will apply to any object-oriented language.

In Software Design for Python Programmers, you'll learn to:

  • Analyze requirements and plan application architecture
  • Evolve designs through iterative development
  • Shape Python classes with high cohesion and loose coupling
  • Use decorators to introduce abstraction, enforce constraints, and enrich behavior
  • Apply industry-standard design principles to keep code modular and maintainable
  • Choose and implement the right design patterns for complex challenges
About the Technology

Great software starts with thoughtful design. You'll be a more effective developer if you can decide how data will

flow through your applications, create a winning software architecture, and structure functions, classes, and modules before you write a line of code. This book will get you started!

About the Book

Software Design for Python Programmers is a practical guide for creating maintainable, well-structured software in Python. By investigating clear before and after examples, you'll discover how even small design choices can have a huge impact on an application's clarity and reliability. As you go, you'll learn how to gather requirements, shape a program's architecture iteratively, create clean and reusable abstractions, and select design patterns that solve the real problems you'll face on the job.

What's Inside

  • Turn vague requirements into solid designs
  • Python-specific software design techniques
  • Create classes with high cohesion and loose coupling
About the Readers

For programmers comfortable with Python syntax.

About the Author

Ronald Mak is a former NASA senior scientist. Currently, he teaches data science and computer science at San Jose State University. He is the author of Object-Oriented Software Design in C++.

Table of Contents

Part 1

Also from

Mak, Ronald

Also in

Programming