
Desertcart purchases this item on your behalf and handles shipping, customs, and support to Bolivia.
If you feel it's time you learned object-oriented programming techniques, this is the perfect book for you. Clearly written with practical exercises, it's the painless way to learn how to harness the power of OOP in Python. Key Features: Learn how to do Object Oriented Programming in Python using this step-by-step tutorial Design public interfaces using abstraction, encapsulation, and information hiding Turn your designs into working software by studying the Python syntax Raise, handle, define, and manipulate exceptions using special error objects Implement Object Oriented Programming in Python using practical examples Book Description: Object Oriented Programming is a very important aspect of modern programming languages. The basic principles of Object Oriented Programming are relatively easy to learn. Putting them together into working designs can be challenging.This book makes programming more of a pleasure than a chore using powerful Python 3 object-oriented features of Python 3. It clearly demonstrates the core OOP principles and how to correctly implement OOP in Python. Object Oriented Programming ranks high in importance among the many models Python supports. Yet, many programmers never bother learning the powerful features that make this language object oriented.The book teaches when and how OOP should be correctly applied. It emphasizes not only the simple syntax of OOP in Python, but also how to combine these objects into well-designed software.This book will introduce you to the terminology of the object-oriented paradigm, focusing on object-oriented design with step-by-step examples. It will take you from simple inheritance, one of the most useful tools in the object-oriented programmer's toolbox, all the way through to cooperative inheritance, one of the most complicated. You will be able to raise, handle, define, and manipulate exceptions.You will be able to integrate the object-oriented and the not-so-object-oriented aspects of Python. You will also be able to create maintainable applications by studying higher level design patterns. You'll learn the complexities of string and file manipulation, and how Python distinguishes between binary and textual data. Not one, but two very powerful automated testing systems will be introduced to you. You'll understand the joy of unit testing and just how easy they are to create. You'll even study higher level libraries such as database connectors and GUI toolkits and how they apply object-oriented principles. What You Will Learn: Implement objects in Python by creating classes and defining methods Separate different objects into a taxonomy of classes, and describe the properties and behaviors of those objects via the class interface Design public interfaces using abstraction, encapsulation, and information hiding Turn your designs into working software by learning the Python syntax Share implementation using inheritance Add functionality to the existing classes and built-ins using inheritance Share similar code between classes by abstracting it into a parent class Raise, handle, define, and manipulate exceptions using special error objects Understand when to use object-oriented features, and more importantly when not to Learn what design patterns are, and why they are different in Python Uncover the simplicity of unit testing and why it's so important in Python Utilize common Python 3 modules, libraries, and frameworks Who this book is for: 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 yo Review: Objects represent a grouping of related data and methods, period. - I just finished reading the book cover to cover. It's geared toward the intermediate Python programmer. I would recommend going through an online tutorial and writing some code before trying to tackle this book. I've been doing object oriented programming for nearly two decades and honestly have always felt like I was missing something. Such a big deal is made of Object Oriented programming as compared to Structural programming. This book sums it up well - objects represent a grouping of related data and methods, period. I wasn't missing anything at all. I like this author's style. He's lighthearted and straightforward. As an example, and I'm paraphrasing, "if you don't think you need regular expressions, try writing the above web URL parsing code without it!" The book was actually fun to read, unlike many dry computer programming books. Of course, Python itself is a joy, so that makes it easier. One reviewer was critical of the book because there are a few chapters at the end that have little to do with Object Oriented programming. This is true, but the material was still interesting nonetheless and I appreciated the content. My only critique is that the book had several typos, and one of the source listings was obviously missing a few lines. It seemed to be more of a problem with this book than the average technical book and was annoying, especially the source code listing. I stared at that code for 15 minutes before I found the problem. All in all, the book was fun to read and educational. If you are ready to move beyond mere scripting in Python, do yourself a favor and pick up a copy of this book. Please don't attempt anything like an Abstract Factory Design Pattern in Python before you know how to do it the Pythonic way, as shown in this excellent book. Review: Great for experienced OO programmers who are new to Python - Python is a fairly easy language to pick up, but if you're coming from other OO languages (in particular C++, PHP or Java), and have a pretty strong background with objects, you may find that this book is right at your comfort level. First, there is a nice little intro chapter that should be called 'just enough UML'. The author gives you a most sensible fly by that is useful for those who aren't partial to having to generate CYA documentation in large companies. Use case fundamentals are related to UML class diagrams and then into sequence diagrams (exactly how I've always done things). If you have always thought Rational Rose was a bit of an overkill, but you like taking a marker to an art pad or a white board instead for designing software, you'll like this. Second, you are treated to a brisk walk through of Python, and the author is quick to point out how it differs from other OO environments, gives a nice explanation of the parts where Python philosophy might contradict what you've been taught with the other languages and quickly introduces you to the niceties of Python that you aren't accustomed to. Finally, I found this book answered questions that others didn't. You'll see that the author is almost reading your mind in some places (that is, if again, you've been doing OO for a while with other languages). If you are into design patterns, so much the better. I found this book to be a quick study, without muddying up the water with extraneous detail that isn't necessary. I would not likely recommend this book to someone who is just getting started with software development for the first time ever, but if you are a somewhat experienced hacker who understands OO and values the importance of mixing in just enough design with your coding (before, during and after that is), this book may definitely be for you.
| Best Sellers Rank | #1,185,906 in Books ( See Top 100 in Books ) #163 in Object-Oriented Design #425 in Python Programming #2,280 in Computer Programming Languages |
| Customer Reviews | 4.6 out of 5 stars 89 Reviews |
F**N
Objects represent a grouping of related data and methods, period.
I just finished reading the book cover to cover. It's geared toward the intermediate Python programmer. I would recommend going through an online tutorial and writing some code before trying to tackle this book. I've been doing object oriented programming for nearly two decades and honestly have always felt like I was missing something. Such a big deal is made of Object Oriented programming as compared to Structural programming. This book sums it up well - objects represent a grouping of related data and methods, period. I wasn't missing anything at all. I like this author's style. He's lighthearted and straightforward. As an example, and I'm paraphrasing, "if you don't think you need regular expressions, try writing the above web URL parsing code without it!" The book was actually fun to read, unlike many dry computer programming books. Of course, Python itself is a joy, so that makes it easier. One reviewer was critical of the book because there are a few chapters at the end that have little to do with Object Oriented programming. This is true, but the material was still interesting nonetheless and I appreciated the content. My only critique is that the book had several typos, and one of the source listings was obviously missing a few lines. It seemed to be more of a problem with this book than the average technical book and was annoying, especially the source code listing. I stared at that code for 15 minutes before I found the problem. All in all, the book was fun to read and educational. If you are ready to move beyond mere scripting in Python, do yourself a favor and pick up a copy of this book. Please don't attempt anything like an Abstract Factory Design Pattern in Python before you know how to do it the Pythonic way, as shown in this excellent book.
R**T
Great for experienced OO programmers who are new to Python
Python is a fairly easy language to pick up, but if you're coming from other OO languages (in particular C++, PHP or Java), and have a pretty strong background with objects, you may find that this book is right at your comfort level. First, there is a nice little intro chapter that should be called 'just enough UML'. The author gives you a most sensible fly by that is useful for those who aren't partial to having to generate CYA documentation in large companies. Use case fundamentals are related to UML class diagrams and then into sequence diagrams (exactly how I've always done things). If you have always thought Rational Rose was a bit of an overkill, but you like taking a marker to an art pad or a white board instead for designing software, you'll like this. Second, you are treated to a brisk walk through of Python, and the author is quick to point out how it differs from other OO environments, gives a nice explanation of the parts where Python philosophy might contradict what you've been taught with the other languages and quickly introduces you to the niceties of Python that you aren't accustomed to. Finally, I found this book answered questions that others didn't. You'll see that the author is almost reading your mind in some places (that is, if again, you've been doing OO for a while with other languages). If you are into design patterns, so much the better. I found this book to be a quick study, without muddying up the water with extraneous detail that isn't necessary. I would not likely recommend this book to someone who is just getting started with software development for the first time ever, but if you are a somewhat experienced hacker who understands OO and values the importance of mixing in just enough design with your coding (before, during and after that is), this book may definitely be for you.
J**N
Well written, easy to follow (for the most part)
Hi all, I am just under half-way through the book and I must say that so far this is the best resource that I've found to teach object-oriented python programming. The author explains absolute imports vs relative imports as well as discussing the necessary folder/file structure required of OOP projects. I would recommend this book to those wanting to learn the theory of OOP. The author does a good job of explaining the OOP theory and how it differs from other programming paradigms (aggregation, composition) as well as when to (and not to) use OOP. Although this book is meant for Python 3.X I've been using 2.7.X because that's what is installed at my work. There are a few nuances between the "Classic classes" & "New classes". I won't go into the differences here but that just knowing that there is a difference between the two should put the reader on the right track to solving any issues that arise. Feel free to comment on this review with questions regarding the differences between the New & Old Style Python classes.
B**N
Learning a lot!
Learning a whole lot with this book. Gives a lot of practical advice on when and how to use different Python features. There are no screenshots, so I had no issues reading (or sometimes listening) on the Kindle. Starts from explaining the basics of Object Oriented concepts and gives multiple examples on how to implement. Goes into writing exceptions, using data structures appropriately, and writing basic web tools. I was actually surprised that you can build web applications without a big framework like Django. You can essentially roll your own with your knowledge of Python. Explains everything well. Good for anyone with some basic programming experience. My experience is Powershell, Bash, PHP, and a little .NET, so I felt very comfortable with the material. I had read "Python Programming for the Absolute Beginner" before tackling this one. Looking forward to implementing the concepts. This will become a good reference.
A**R
Kindle Edition Fixed
About 2 months after reporting this issue, I received an e-mail from Amazon about an updated version of this book being available - I quickly updated and I see that the formatting issues described in my original review (below) have been fixed. This very good book is now much more readable on my tablet through Kindle! So thank you very much to Packt Publishing for making the effort to fix the problem - keep up the good work! *** Old review below: Code formatting issue described has been fixed! *** I am reading the Kindle edition and it's starting to get difficult to follow the code listings, because the whitespace seems to have been ignored, with all the code left aligned without any indentation. This is unacceptable, especially given that Python uses indentation to demarcate blocks of code!
B**R
Wonderful OOP book covering Python 3
I am still in the middle of reading it and I can say that I truly value this book. I bought the Kindle version and was able to download the examples code on my laptop, which helps to overcome Kindle's small size limitations. I already applied some of the tips of this book to my professional work and am looking truly forward to the 2 chapters on Design Patterns in Python. Bruce Eckel wrote a free online book in 1999, but that book is outdated and unfinished. Personally, for the people who like both Python 3 AND programming/thinking in OOP, I can highly recommend this book By the Kindle version: It will save you $30 plus no taxes. I use Python for software test automation in my day to day job.
O**C
Excellent Book
I am a long time software developer. I wanted to develop a skill in Python. I'm really happy that I selected this book. The case studies developed throughout the book are worth their weight in gold. They supplied the substance which helped me to learn after reading the description. This is a hands on book. Even if you have little or no object oriented experience, you will pick it up by working through the case studies and exercises. The book also provides a wealth of useful information on additional frameworks, packages, and modules which would've undoubtedly taken me a long time to figure out. Thanks for such a gret book.
C**M
Great book for learning "beyond the basics"
This is a great book for someone who can use python to "solve their own problems", but can't yet make the leap to cleaning up their code, or generalizing it for later use. This certainly isn't for beginners, nor is it for experts -- it is just right for beginner to novices, who doesn't know how OO programming works, but wants to learn. There are plenty of good examples, and it is laid out in a well organized, readable manner. I highly recommend it.
C**R
Great source for beginning OOP in Python 3.X
A very good read for beginners to understanding the concepts of object oriented design and programming in python 3.x, only some basic experience in python syntax is necessary to get started. And the examples are very understandable. I first started learning python 10 years ago but found the OOP concepts hard to grasp but after reading this I have found going back and rewriting my old code is much more easier and efficient and I can organise it where it no longer looks like a confusing plate of spaghetti. Highly recommended for those trying to understand the basics of python OOP.
M**O
Muy buen libro
Un libro muy bueno para introducirse en la orientación a objetos, si a este libro le sumas el de estructuras de datos hacen una combinación perfecta.
B**N
Great Place to Start
Best book on Object Oriented Python I read till now. There are some areas I'd like to cover more. But the book is a great starter.
M**T
It's freely available on internet , don't pay for this, but book is really good One
This book is freely available on internet
S**R
Good if you don't know OOP, better if you do
Having just started to lear n python I thought I'd learn OOP too, as Python is an OOP language. This book has helped to explain a lot of the details used within OOP. I will have to re-read this as OOP can be quite complex. Good examples to use too.
Trustpilot
1 week ago
4 days ago