Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Python 3 Object-Oriented Programming - Second Edition

You're reading from  Python 3 Object-Oriented Programming - Second Edition

Product type Book
Published in Aug 2015
Publisher Packt
ISBN-13 9781784398781
Pages 460 pages
Edition 1st Edition
Languages
Author (1):
Dusty Phillips Dusty Phillips
Profile icon Dusty Phillips

Table of Contents (21) Chapters

Python 3 Object-oriented Programming Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Introduction to the second edition
Preface
1. Object-oriented Design 2. Objects in Python 3. When Objects Are Alike 4. Expecting the Unexpected 5. When to Use Object-oriented Programming 6. Python Data Structures 7. Python Object-oriented Shortcuts 8. Strings and Serialization 9. The Iterator Pattern 10. Python Design Patterns I 11. Python Design Patterns II 12. Testing Object-oriented Programs 13. Concurrency Index

Introduction to the second edition

I have a confession to make. When I wrote the first edition of this book, I didn't have a clue what I was doing. I thought I knew Python and I thought I knew how to write. I quickly learned that this was false. Luckily, I became adept at both by finishing the book!

I was so afraid that people wouldn't like Python 3 Object Oriented Programming that I skipped Pycon for two years straight. After a couple dozen positive reviews, my confidence was boosted and I finally attended Pycon 2012 in Santa Clara. I soon discovered that nobody had ever heard of me or my book. So much for arrogance!

I was also afraid to reread the book after completing it. So while it has received many accolades, the copy on my shelf has remained firmly shut, save for when I open it for reference to answer a reader's query. In preparing this second edition, I was finally forced to face my demons. To my surprise and joy, I discovered that the book I wrote five years ago was both accurate and enjoyable, just as many reviewers had suggested.

Shortly after that initial rereading, I got my first ever negative review on Amazon. It would have been devastating had I read it directly after completing the project. Fortunately, four years of good reviews and my own confidence in the writing allowed me to ignore the vitriol and take the remainder as constructive feedback. The truth is many of the flaws the reviewer had pointed out were features at the time the book was originally published. Python 3 Object Oriented Programming was showing its age, and it was clearly time for an update. You're holding the result in your hands (or flipping through it on your e-reader).

I've often wondered why authors describe in detail what has changed between the editions of a technical book. I mean, seriously, how many people reading this second edition have read the first one? As with software versions, you safely assume the latest edition is the best, and you don't really care about the project's history. And yet, this project has consumed so much of my life over the past year that I can't leave without a few words about how much better the book has become.

The original book was a little disorganized. Many chapters flowed directly into the next one, but there were a few key places where the topic change was jarring, or worse, irrelevant. The two chapters preceding the discussions about design patterns have been reorganized, reversed, and split into three chapters that flow cleanly into the next topic.

I've also removed an entire chapter on third-party libraries for Python 3. This chapter made more sense when both the book and Python 3 were new. There were only a few libraries that had been ported to Python 3 and it was reasonable to have a best of breed discussion about each of them. However, I was unable to cover any of those topics in detail, and frankly, I could write an entire book on any one of them.

Finally, I've added an entire new chapter on concurrency. I struggled with this chapter and I can freely admit that it's not directly related to object-oriented programming. However, much like the chapter on unit testing, I think that understanding concurrency is an integral part of all programming and especially of object-oriented programming in the Python ecosystem. You are, of course, free to skip those chapters if you disagree (or until you discover a reason to change your mind).

Enjoy the book and your journey into the world of object-oriented programming.

Dusty Phillips

lock icon The rest of the chapter is locked
You have been reading a chapter from
Python 3 Object-Oriented Programming - Second Edition
Published in: Aug 2015 Publisher: Packt ISBN-13: 9781784398781
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}