Here are some interesting parts I've read so far, from the introductory and first sections:
You?ll find after you?ve worked with Python for a short while that you?ve been using up a lot of brain cycles parsing semicolons, curly braces, and all sorts of other extra verbiage that was demanded by your non-Python programming language but didn?t actually describe what your program was supposed to do. [One of Eckels most written up likes about python.]
. . .
# create Simple object instance, display message
x = Simple("constructor argument")
x.show()
x.showMsg("A message")
[A]t the bottom of the example [above] you can see that the creation of an object looks just like a function call using the class name. Python?s spare syntax makes you realize that the new keyword isn?t really necessary in C++ or Java, either.
. . .
Because Python is weakly typed, it doesn?t really care about interfaces ? all it cares about is applying operations to objects (in fact, Java?s interface keyword would be wasted in Python). This means that inheritance in Python is different from inheritance in C++ or Java, where you often inherit simply to establish a common interface. In Python, the only reason you inherit is to inherit an implementation ? to re-use the code in the base class.
. . .
Whenever you abstract something you?re isolating particular details, and one of the most compelling motivations behind this is to separate things that change from things that stay the same.... Often, the most difficult part of developing an elegant and cheap-to-maintain design is in discovering what I call "the vector of change." This means finding the most important thing that changes in your system, or put another way, discovering where your greatest cost is. Once you discover the vector of change, you have the focal point around which to structure your design.
. . .
Alex Martelli makes the observation that what we really want with a Singleton is to have a single set of state data for all objects. That is, you could create as many objects as you want and as long as they all refer to the same state information then you achieve the effect of Singleton. He accomplishes this with what he calls the Borg, which is accomplished by setting all the __dict__s to the same static piece of storage.