Mastering Object-oriented Python: Grasp the intricacies of object-oriented programming in Python in
order to efficiently build powerful real-world applications
Download
Introduction
This book will introduce you to more advanced features of the Python programming
language. The focus is on creating the highest quality Python programs possible.
This often means creating programs that have the highest performance or are the
most maintainable. This means exploring design alternatives and determining which design offers the best performance while still being a good fit the problem that is being solved
Most of the book will look at a number of alternatives for a given design. Some
will have better performance. Some will seem simpler or be a better solution for
the problem domain. It's essential to locate the best algorithms and optimal data
structures to create the most value with the least computer processing. Time is
money, and programs that save time will create more value for their users.
Python makes a number of internal features directly available to our application
programs. This means that our programs can be very tightly integrated with existing
Python features. We can leverage numerous Python features by ensuring that our
OO designs integrate well.
We'll often focus on a specific problem and examine several variant solutions to the problem. As we look at different algorithms and data structures, we'll see different
memory and performance alternatives. It's an important OO design skill to work throught alternate solutions in order to properly optimize the final application
One of the more important themes of this book is that there's no single best
approach to any problem. There are a number of alternative approaches with
different attributes.
On programming style, the subject of style generates a surprising amount of interest.
The astute reader will note that the examples do not meticulously conform to PEP-8
in every single particular detail of the name choice or punctuation.
As we move towards achieving mastery over object-oriented Python, we'll spend a
great deal of time reading Python code from a variety of sources. We'll observe wide
variability even within the Python Standard Library modules. Rather than presenting
examples that are all perfectly consistent, we've opted for some inconsistency, the lack of consistensy will better confirm with code as seen in the various open source projects encountered in the wild.