

Buy anything from 5,000+ international stores. One checkout price. No surprise fees. Join 2M+ shoppers on Desertcart.
Desertcart purchases this item on your behalf and handles shipping, customs, and support to Greenland.
A comprehensive guide to exploring modern Python through data structures, design patterns, and effective object-oriented techniques Key Features Build an intuitive understanding of object-oriented design, from introductory to mature programs Learn the ins and outs of Python syntax, libraries, and best practices Examine a machine-learning case study at the end of each chapter Book Description Object-oriented programming (OOP) is a popular design paradigm in which data and behaviors are encapsulated in such a way that they can be manipulated together. Python Object-Oriented Programming, Fourth Edition dives deep into the various aspects of OOP, Python as an OOP language, common and advanced design patterns, and hands-on data manipulation and testing of more complex OOP systems. These concepts are consolidated by open-ended exercises, as well as a real-world case study at the end of every chapter, newly written for this edition. All example code is now compatible with Python 3.9+ syntax and has been updated with type hints for ease of learning. Steven and Dusty provide a comprehensive, illustrative tour of important OOP concepts, such as inheritance, composition, and polymorphism, and explain how they work together with Pythonโs classes and data structures to facilitate good design. In addition, the book also features an in-depth look at Pythonโs exception handling and how functional programming intersects with OOP. Two very powerful automated testing systems, unittest and pytest, are introduced. The final chapter provides a detailed discussion of Python's concurrent programming ecosystem. By the end of the book, you will have a thorough understanding of how to think about and apply object-oriented principles using Python syntax and be able to confidently create robust and reliable programs. What you will learn Implement objects in Python by creating classes and defining methods Extend class functionality using inheritance Use exceptions to handle unusual situations cleanly Understand when to use object-oriented features, and more importantly, when not to use them Discover several widely used design patterns and how they are implemented in Python Uncover the simplicity of unit and integration testing and understand why they are so important Learn to statically type check your dynamic code Understand concurrency with asyncio and how it speeds up programs Who this book is for If you are new to object-oriented programming techniques, or if you have basic Python skills and wish to learn how and when to correctly apply OOP principles in Python, this is the book for you. Moreover, if you are an object-oriented programmer coming from other languages or seeking a leg up in the new world of Python, you will find this book a useful introduction to Python. Minimal previous experience with Python is necessary. Table of Contents Object-Oriented Design Objects in Python When Objects Are Alike Expecting the Unexpected When to Use Object-Oriented Programming Abstract Base Classes and Operator Overloading Python Data Structures The Intersection of Object-Oriented and Functional Programming Strings, Serialization, and File Paths The Iterator Pattern Common Design Patterns Advanced Design Patterns Testing Object-Oriented Programs Concurrency Review: It's not only OOP, but best practices using OOP - Like all books by Steven F. Lott, this book is no exception. I read all books by Steven, and I always learn something from them. Besides teaching how to write OOP and use it, this book explains how to write OOP code using modern data types like NamedTuple, TypedDict, tuples, etc. As always, I learned excellent tips and techniques on how to write nice tests. There are also very interesting chapters on Concurrency and Design Patterns. My only complaint is the type of examples provided in this book. Examples are complicated, and they are based on machine learning data, sailing data, etc. So to understand an example, sometimes you need to understand the domain knowledge of the example. I wish examples were simpler to get a concept and then maybe provide more complex examples. Steven is not biased to OOP in this book, but he also explains the difference between OOP and functional programming and teaches where OOP would be the best fit. In any way, it's an excellent book, and I learned a lot from it, and I use it as a reference if I need to find an answer to my questions. Review: POOP is GOLD - Despite its unfortunate initialism, POOP is money well spent. If you already have some experience with python, this book will take you to a next level in Python programming, and teach you along the way some good practices, how to improve readability and some common useful design patterns. Thumbs up!










| Best Sellers Rank | #972,417 in Books ( See Top 100 in Books ) #239 in Object-Oriented Design #488 in Microsoft Programming (Books) #687 in Python Programming |
| Customer Reviews | 4.4 out of 5 stars 136 Reviews |
V**N
It's not only OOP, but best practices using OOP
Like all books by Steven F. Lott, this book is no exception. I read all books by Steven, and I always learn something from them. Besides teaching how to write OOP and use it, this book explains how to write OOP code using modern data types like NamedTuple, TypedDict, tuples, etc. As always, I learned excellent tips and techniques on how to write nice tests. There are also very interesting chapters on Concurrency and Design Patterns. My only complaint is the type of examples provided in this book. Examples are complicated, and they are based on machine learning data, sailing data, etc. So to understand an example, sometimes you need to understand the domain knowledge of the example. I wish examples were simpler to get a concept and then maybe provide more complex examples. Steven is not biased to OOP in this book, but he also explains the difference between OOP and functional programming and teaches where OOP would be the best fit. In any way, it's an excellent book, and I learned a lot from it, and I use it as a reference if I need to find an answer to my questions.
C**A
POOP is GOLD
Despite its unfortunate initialism, POOP is money well spent. If you already have some experience with python, this book will take you to a next level in Python programming, and teach you along the way some good practices, how to improve readability and some common useful design patterns. Thumbs up!
A**K
A bit more complicated than what I needed
I was looking for a book on Python Object Oriented Programming because it is an area that I was struggling in. I picked up this book assuming that it would help explain the areas I wasn't grasping. I ultimately did not like this book because of how the code was written. The book almost seems like it actually on the subject of type hints and unit testing rather than simply OOP. I found it difficult to follow along with the code examples because they were all written using experimental type hints syntax and designed to work with the mypy testing tool which ultimately rendered the code to look very different from typical python syntax taught in most beginner and intermediate Python books. I ended up picking up Irv Kalb's book "Object-Oriented Python" and found it to be much easier to understand so I recommend that book over this one if you find yourself in a similar situation.
A**Y
Great overview of OO Python for intermediate programmers
This book provides an excellent overview of OOP in Python, including useful patterns. The book also discusses where functional programming may be appropriate. Very importantly discusses composition as an alternative to inheritance. The book is very complete in terms of type checking. Good book
N**D
Very Good But Somewhat Verbose
My advice to any readers of the book is to start on page 43. While the previous pages are useful, the topics can be read later and, preferably, gradually. Otherwise it's probably more satisfying for the reader to start with an example. Indeed, it's not until the precious page 43 that one finds the ubiquitous "Hello World". As the expression indicates "Hello, World" should be in the greeting of the text. One need look no further than K&R, where it's used in the first paragraph of Chapter 1.
A**R
Bridging Concepts and Code of Object-Oriented Programming and Python
This book offers a practical and well-structured guide to object-oriented programming (OOP) in Python, focusing on real-world application rather than just theory. It starts with foundational OOP concepts and gradually progresses to advanced topics like abstract base classes, operator overloading, design patterns, and concurrency, making it suitable for both beginners and experienced developers. Core OOP principlesโinheritance, composition, polymorphism, and encapsulationโare explained clearly with practical examples. The book also covers Python-specific features such as dynamic typing, data structures, exception handling, and the blend of functional and object-oriented paradigms. Moreover, the real-world case studies and open-ended exercises at the end of each chapter reinforce learning and encourage critical thinking about design choices. Overall, the book balances theory and practice, teaching not only how to implement OOP in Python but also when it is appropriate to use. It is recommended for beginners, intermediate Python developers, and experienced programmers seeking to master object-oriented design in Python.
O**S
Design Patterns and Modern Coding
When I first started with object-oriented coding, it felt like trying to build a house without a blueprint. I knew about classes and objects but didnโt know how to design them properly. I often heard about "design patterns" and "good practices," but it was confusing where to start. This book, Python Object-Oriented Programming (Fourth Edition), made everything simple and clear. Itโs like learning from a patient teacher who explains every step carefully. The book doesn't just throw theory at you โ it shows how real Python programs are built, using examples that grow from small scripts to full systems. Every chapter gives you a real-world case study, which makes the learning practical, not boring. Whatโs special about this book is it teaches when to use OOP, and just as importantly, when not to use it โ something most books skip. It also covers testing with unittest and pytest, shows clean ways to handle errors, and even teaches modern Python tools like concurrency with asyncio. Whether you are new to Python or already know some basics, this book is a great guide to take your coding skills to the next level, step-by-step.
L**T
If youโre a Python programmer, this book will grab you
Python-experienced or not, I recommend the book to you because it increases oneโs knowledge of each topic when contrasted and compared to another language perspective. If you work with object-oriented patterns in any medium, then this book will interest you. There are 750 pages of niceties. I dislike treasure-hunting a line-of-interest from each code example in some books. This book sets emphasized parts of code examples in boldface. In addition, each snippet is color-coded Python for readability. Python is duck-typed, but the authors statically type-checked the bookโs accompanying code type flows with the mypy tool. So ... the included code works. The content is organized into four major sections: 1. Well-known OOPs principles as reflected in Python โ with good practices, case studies, and exercises in each chapter 2. Built-in Python features from the OOPs viewpoint โ these form a base for a contrast-and-compare with other languages 3. Popular OOPS Design patterns 4. Testing and concurrency I liked Chapter 5 โ When to use Object-Oriented Programming. It presents balanced coverage of a trade-off between an object-oriented rendition of an example and a more data-oriented version or a functional version. It addresses Pythonโs lack of private members. The coverage delved into reasonable alternatives within typical OOPS design decisions. Chapter 8 โ The Intersection of Object Oriented and Functional Programming, caught my eye. Functional programming has become cool after lurking in an academic setting while OOPS enjoyed two decades of limelight. The authors made a credible case for melding the two paths. They point out that Python functions are objects as well. Chapter 11 โ Common Design Patterns, and Chapter 12 โ Advanced Design Patterns, give 12 well-known design patterns their Python spins. The discussion about the singleton pattern was interesting. Python has no private constructor capability. Instead, a Python module is a singleton, so thereโs the singleton container. Testing is well-covered in chapter 14 (pun intended). Concurrency is difficult. Chapter 14 covers usual concurrency topics. It was the most interesting chapter to me. It enhanced my general understanding of these topics by letting me contrast and compare Python-based approaches to those I knew in other languages and libraries. You donโt need to know much Python to benefit from this chapter. It's a readable language. The Python GIL may be unique, however. The text doesnโt explicitly state that the interpreter runs in a single CPU core, where threads must time-share that core, as gated by the GIL. The text says that the multiprocessing interface supports multiple concurrent core processes. Concurrency diagrams would have been helpful (especially the floorplan of Constantine and Moโs diner). I say โget this book.โ The authors have vast experience. I relate to the ancient one of the pair who has been programming forever. He lives on a boat that he relocates. I wrote my first program in machine language on a vacuum tube computer in 1961. Yes, but I live in a simple non-moving house.
M**W
Note to Publisher
Dear Packt, I have found an awesome content inside the book. But the quality of the binding I received from the publisher is unacceptable. Its not the first time, i encountered the issue. Pl donโt spoil the journey of reading awesome content just because of your poor quality of presentation. BR, Matthew
M**T
Responsive Web Design with HTML5 and CSS: A Comprehensive Guide for Modern Web Development
I recently delved into "Responsive Web Design with HTML5 and CSS", and it has profoundly enriched my understanding of contemporary web development practices. This book stands out for its thorough coverage and approachable writing style. Content and Structure The author presents complex concepts in a friendly and informal manner, making the material accessible without compromising depth. The latest edition encompasses recent advancements in responsive web design, including enhanced user accessibility, variable fonts and font loading, and CSS Scroll Snap. Each topic is elucidated with clear explanations, practical examples, and visual aids, facilitating a seamless learning experience. Practical Application What sets this book apart is its emphasis on hands-on application. Readers are encouraged to engage with interactive exercises and real-world projects, reinforcing the theoretical knowledge acquired. This pragmatic approach ensures that learners can confidently implement responsive design principles in their own work. Conclusion "Responsive Web Design with HTML5 and CSS" is an invaluable resource for both novices and seasoned developers aiming to stay abreast of the evolving web landscape. Its blend of comprehensive content, engaging presentation, and practical insights makes it a must-have reference for anyone committed to mastering responsive web design.
G**A
Oop python
Per imparare a muoversi su oop in python, un libro intuitivo Lo consiglio
E**A
Disclaimer: I bought and read all Dusty Phillips's previous revisions and loved all of them!
1-There are enough typed and strongly typed languages in the world, there's really no need to clutter Python with these type hints and mypy ... the beauty and cleanliness of Python is one of the many reasons people go for it 2- Sorry but the k-NN example seems too incongruous throughout the book, it was more of an hindrance to understanding for me 3- The English is not always good in some places and the book could have done with a bit more proofreading I'll stick with Dusty's 3rd edition, pity I missed the return window
C**Y
Quality from Amazon is perhaps not a valid expectation
Wow such a great book. I am enjoying it page by page
Trustpilot
3 days ago
2 weeks ago