ŷ

Jump to ratings and reviews
Rate this book

Python 3 Object Oriented Programming: Harness the Power of Python 3 Objects

Rate this book
The book begins with the very foundations of OOP and then uses practical examples to show how to correctly implement Object Oriented Programming in Python. Many examples are taken from real-world projects. The book focuses on high-level design as well as the gritty details of the Python syntax. The provided exercises inspire the reader to think about his or her own code, rather than providing solved problems. If you're new to Object Oriented Programming techniques, or if you have basic Python skills and wish to learn in depth how and when to correctly apply Object Oriented Programming in Python, this is the book for you. If you are an object-oriented programmer for other languages, you too will find this book a useful introduction to Python, as it uses terminology you are already familiar with. Python 2 programmers seeking a leg up in the new world of Python 3 will also find the book beneficial, and you need not necessarily know Python 2.

388 pages, Paperback

First published July 26, 2010

231 people are currently reading
448 people want to read

About the author

Dusty Phillips

16books9followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
82 (33%)
4 stars
104 (42%)
3 stars
47 (19%)
2 stars
11 (4%)
1 star
3 (1%)
Displaying 1 - 26 of 26 reviews
24 reviews
May 3, 2013
I'm an amateur programmer, and own several python books. I've tinkered with C++ in the past, but never felt I had a good handle on Object Oriented concepts (especially design patterns) until reading this book. Python is an excellent, relatively easy to use programming language, but I've found that instruction concerning object oriented concepts (and especially design patterns) which were based on other languages (predominantly Java or C++) didn't quite fit with Python. This book does an excellent job of explaining why that is and illustrating the proper application of object oriented concepts and design patterns within the context of Python.
Profile Image for Gert.
64 reviews1 follower
October 17, 2012
Clear book on OO in Python3. Strongly recommended.
Profile Image for Eric Mesa.
822 reviews24 followers
January 12, 2019
I've rarely done object-oriented programming in Pytnon and haven't done any serious OOP since undergrad, nearly 20 years ago (and in Java). i found this book to be very well written and a good way to become an expert in the Python way of doing OOP. I discovered new and more efficient ways to write functions I've been writing that should allow me to have more easily maintainable code.

What I like best about the way the book is written is that it's not written to be a textbook so the chapters don't end with silly exercises. Instead, each chapter ends first with a case study that explores the principles from the chapter and then a series of thought experiments the reader can perform. Better than all that - and something missing from lots of books and tutorials I've read in the past - the author always points out where her example code is not the best way to do something, but is being written this way to demonstrate the chapter's topics. It prevents the novice programmer from building off this example and thinking it's the best way to write the code.

I'd definitely recommend it, but make sure you already know how to program in Python because it doesn't spend the first couple chapters introducing the basics.
Profile Image for Isen.
253 reviews5 followers
October 7, 2020
Python 3: Object Oriented Programming covers a number of basic topics in OO programming in Python. The target audience seems to be a programmer who is a novice in both the principles of OO and Python, which on the one hand makes it for an easy read, but on the other hand it's hard to imagine why you would want to explain how to implement multiple inheritance to someone who has written their first Hello World. And if we assume the reader is more experienced, then much of the book is needless fluff.

I'll give it a three, because it's convenient to have this info all in one place, but I'm not sure whether it's more useful than just Googling it.
Profile Image for Maamoun Haj Najeeb.
28 reviews1 follower
June 10, 2023
Done
one of the most enjoyable book I've ever read in my life

the review will be in two languages [Arabic, English] starting with Arabic

كتاب رائع ويحب على كل مطور بايثون أن يقرأه, حقيقةً ما وجدته من تفاصيل مهمة في هذا الكتاب لم أجد لها مثيلاً ولا في أي دورة من الدورات المنتشرة على الأنترنت (الأجنبية منها والعربية)

الكتاب مؤلف من 12 فصل

الفصل الأول بدأ فيه الكاتب بالحديث عن مبادئ تصميم البرمجة الشيئية لكن ليس بالطريقة المعهودة, تحدث الكاتب عن أساسيات التصميم مثلاً الفرق بين الinheritance وال composition

الفصل الثاني كان عن طريقة تعريف ال classes
مع بعض الأمثلة

لأكون صريحاً لم يكن هناك تواصل جيد بيني وبيني الكتاب في هذين الفصلين

في الفصل الثالث الكاتب تحدث عن الطرق الفعًالة لاستخدام خصائص البرمجية الشيئية متى نستعمل الوراثة متى نستعمل ال polymorphism
بدءاً من الفصل الثالث بدأت المتعة

الفصل الرابع وبداية المتعة الحقيقية وفصل كامل يتحدث عن
- except handling
- how to build errors
- how to build your own errors

الفصل الخامس هو الأفضل تحدث الكاتب عن الوقت الصحيح لاستخدام البرمجة الشيئية فليست كل المشاكل تحتاج إلى classes
يمكن وضع هذا الفصل تحت عنوان دليل المطور في استخدام البرمجة الشيئية بالوقت المناسب

الفصل السادس كان مع تراكيب البيانات الأساسية في بايثون والطريقة الصحيحة لاستخدامها في حل المشكلات

الفصل السابع كان الحديث فيه عن الدوال الجاهزة في بايثون وكيف أن الدوال في بايثون ماهي إلا
first level objects

الفصل الثامن والتاسع كانت عن أنماط التصميم لم أقرأ هذين الفصلين بالتفاصيل الكاملة لأن تصميم الأنماط أمر متقدم
لكنني درست decorators
ولم يكن الشرح واضح بالكتاب للأمانة لكن الأمثلة على هذا النمط قوية

الفصل العاشر كان عن الاستخدام الأمثل للسلاسل النصية والتعامل مع الملفات في بايثون, فصل مفيد لكن ليس بقوة الفصول السابقة

الفصل الحادي عشر كان عن اختبار البرامج والدوال عادت المتعة مع هذا الفصل الكاتب شرح ثلاث طرق للاختبار بمحتوى جيد جداً

الفصل الثاني عشر كان عن بعض مكتبات بايثون ولم أكمله لأن الأفكار قديمة بعض الشيء

على العموم الكتاب رائع وأنصح أي شخص يشعر بأن أفكار البرمجة الشيئية غير مكتملة لديه بأن يقرأه سيصحح لك المفاهيم ويجعلك ترى الأمور من منظور اّخر

يعيب الكتاب بعض الأمثلة القديمة وذلك طبيعي فاّخر نسخة من الكتاب صدرت في العام 2017 أي منذ ست سنوات وبايثون تتطور بسرعة كبيرة

تقييمي 4/5

ملاحظة أخيرة: اللغة الإنكليزية في الكتاب ليست صعبة على العكس الكتاب انكليزيته سلسلة
Profile Image for Ray.
267 reviews
March 24, 2020
Picked this book up from NYT on the last day before the office was closed for covid-19.

This edition is about 10 years old so I'm sure it's missing some good stuff available in the newer one. However, I would say this was a solid intro to object oriented python.

It does have some good intermediate(ish) topics like when to use __init__ vs __new__, multiple inheritance, and general conventions in python code structure.

However, the real gold for me was in chapters 8/9 about python design patterns. It covered the standard patterns (observer, strategy, singleton, adapter, facade) in a helpful amount of detail and describes how they map specifically to python. One good example is the singleton which we can use __new__ to create but they also warn is considered an antipattern in python and doesn't often make sense.

The downside of this book?
Not all of the examples (or case studies) are great. Some are still very abstract and not too relatable for someone who hasn't used the pattern before.
Some of the examples of specific libraries, like xml parsers and GUIs, are pretty dated. But that's to be expected 10 years later.

Final thoughts:
Definitely not something a beginner programmer could pickup and easily gain a lot from. However, if you already know OO or Python fairly well this is an easy way to understand how they can work together.
Profile Image for Vincenzo De Sanctis.
14 reviews
September 14, 2018
Great writing style, simple, clear, with several examples. For beginners and advanced programmes. No boring reading experience! Suggested!
Profile Image for Andreas Kontokanis.
16 reviews3 followers
August 10, 2024
"Python 3 Object-Oriented Programming" begins with a promising start, offering a well-presented and informative introduction to object-oriented programming (OOP) in its first three chapters. These initial sections set high expectations by explaining OOP concepts clearly and effectively, making them accessible to both newcomers and those seeking to deepen their understanding of Python.

However, the book takes a disappointing turn after these initial chapters. The middle sections, which focus on data structures, feel misplaced and overly detailed for a book meant to concentrate on OOP and design patterns. If you're unfamiliar with these data structures, you need to study them first before tackling OOP. Conversely, if you are already familiar with them, their in-depth analysis seems unnecessary within this context.

As I progressed through the book, I couldn't help but imagine a conversation between the author and the editor:

Author: "I have a great idea for a book on Python OOP and design patterns. There's a vacuum in the market."
Editor: "Great idea, let's make it 500 pages."
Author: "But I can cover it well in 240."
Editor: "No, it needs more."


The result is a book that starts strong but becomes filled with fluff. The latter parts of the book, which should have been the most crucial, read like a rushed university lab assignment finished in one night. Important topics are glossed over, and the depth and clarity of the earlier chapters are sorely missing. It feels as though the author was pressured to meet a page count rather than deliver quality content throughout.

In conclusion, while "Python 3 Object-Oriented Programming" has potential and starts with promise, it ultimately falls short of delivering a comprehensive guide to OOP and design patterns in Python. There's undoubtedly a market for a well-executed book on this topic, but this one, unfortunately, does not meet the mark.
Profile Image for Alex.
5 reviews
April 26, 2020
That's a fantastic book! A person with any level of python/coding skills would appreciate it. It starts form very basics of OOP concepts like what a class and an object are. Then, it builds up to how to use classes in python, class inheritance and extending python data structures. Also, a big part of the book are design patterns, e.g. decorator, observer, adapter and facade to name some of them.

What I like about the book is that the author engagingly and utterly introduces each concept. He covers every chapter from an object oriented perspective and sometimes gives examples from his own software development experience. The book is full of elegant code snippets and awsome python tricks.

What I think might be improved in the book are the case studies at the end of the chapters. Some studies are great and very clear like the one about using k-nearest neighbors for an rgb color learning. However, some cases are not that great in terms of problem statement. Sometimes, I could not understand what the problem was until I read through the code. Anyways, all examples are good and I got all off them, just needed to spend some extra time on understanding what problem was about to be solved.

Note to the author: I'd be very interested to read your books on Concurrency and
Regular Expressions if you ever decide to write one :)
12 reviews1 follower
Read
August 2, 2019
All about OOP in Python. Start with what is OOP and what benefits it has and goes into details of implementing it in Python - MRO, magic methods, getter/setters, etc. Has a nice chapter on exception handling and # General stuff. Touches packaging briefly. There are also some implementation of popular design patterns
Profile Image for Constantine.
121 reviews2 followers
May 2, 2018
A great book for both advanced Python programmers and novices. It opens up a lot of information on object-oriented aspect and even a little about async. I found some little things that made my life easier with python and recon to read this if you are even fairly envolved in programming.
Profile Image for Guillermina.
16 reviews
December 20, 2024
"Test-driven development is fun. It allows us to build little puzzles to solve. Then we implement the code to solve the puzzles."

Fun, easy, useful, but comprehensive book. I feel ready to implement my first object-oriented program in Python.
Profile Image for Eduardo Fernandes.
11 reviews
November 2, 2019
Easy to read, easy to understand, thought very deep subjects and lots of practical examples.
I really enjoyed the reading and strongly recommend it.
This entire review has been hidden because of spoilers.
Profile Image for nicomanso.
4 reviews
December 29, 2019
I really love the amount of examples and real case scenario. It is a good book to start thinking in an OO way.
Profile Image for Chuck Alley.
11 reviews
January 16, 2021
Stunning social commentary, incredible insights into the heart of darkness, gripping reading cover to cover.
Profile Image for David.
26 reviews1 follower
October 11, 2021
Fantastic book. The kindle version lack quality though still a fantastic book
Profile Image for Leam Hall.
Author7 books8 followers
October 13, 2021
Very good if you know some python and want to really get into OOP with it.
Profile Image for BCS.
218 reviews34 followers
January 29, 2017
If one thinks in terms of programming, then one will know that the picture on this book's cover is worth more than a thousand words. It truly expresses the idea of object-oriented programming in simple terms. The lush green vegetation, icy mountain top, and water reflection simply represent both real and abstract objects.

The author, Dusty Phillips, an open source programmer with over 15 years of programming experience with Python, produced a great piece of work in the world of Python programming - Python 3 Object-oriented Programming. This book simplified the complexities that beginner and intermediate programmers with a rusty understanding may face in using Python.

The book engages and absorbs the reader into the subject matter involving almost all the human senses. The writing style and tone are just perfect as beginners can truly feel at ease; for example, real world objects and scenarios are used to break down and eliminate the need for technical jargon, something which beginners find daunting. In addition, readers can happily have access to and download hundreds of source codes for free from the publisher's website. These source codes are of immense value and will surely delight both beginner and intermediate users.

The case study available at the end of every chapter is a beautiful concept that brings together all that has been learnt while reading each chapter. They are practical implementations of a real world situation or environment.

Most importantly, this book is a practical guide that walks one through problems, something that I didn’t expect and find truly marvellous.

In this second edition, it is evident that the author has invested both time and effort, and has listened to reader feedback to enhance this particular edition. The first edition of this book was good, but some aspects of it were not focus-oriented. Thus, this second edition displays more maturity and delivers more focused content on the subject matter. A new chapter on concurrency in this second edition is an excellent move I think, as most modern computing deals with multi-core processing.

This 460 page book is an excellent guide on learning Python 3 as well as aspiring to become proficient in it. It is also one of the few books out there that one will find truly practical and engaging.

Review by Kalum Priyanath Udagepola PhD, MSc,BSc,Sur.Dip.,Reg. Surv.,FBCS,FACS,CP,SMIEEE,GISP
Originally posted:
Profile Image for Julio Biason.
199 reviews28 followers
April 2, 2016
After a bunch of titles from Packt, I expected something that would be half OO, half Python 3. But I got a very happy surprise reading the book because it does really go intro OO, explaining from analysis to design to code and then slowly dwelving into Python around those topics.

Not only that, but instead of simply assuming his position is right, the author explores other possibilites and than moves back when something doesn't work -- kinda like does in .

In the end, even after I work with Python for 5+ years, I still learnt a few more things about using Python for OO development (and really got in agreement with the author when OO isn't necessary!)
Profile Image for Charles.
185 reviews16 followers
April 8, 2013
Seems like a decent book, but not exactly what I was looking for: something to allow an experienced PHP developer to pick up Python with a minimum of strain. Instead it seemed to assume some basic experience with Python and largely concentrated on the details and theory of specific object-oriented Python issues. So if that's your current need, it's probably quite useful, and I may find it something I need to refer to later as I get up to speed with the language.
Profile Image for Paul Childs.
183 reviews3 followers
Read
February 23, 2016
Used this book to fill in some of the gaps in my use of object-oriented programming in Python. I found it to be pretty useful in some areas where it cleared up misunderstandings that I had. It had a lot of good information for people like me that are still new to Python, and other information about design and concurrency that I am sure would be helpful to others, but not so much to me at this time.

The testing was also pretty helpful to me as well.
Displaying 1 - 26 of 26 reviews

Can't find what you're looking for?

Get help and learn more about the design.