77 of 78 people found the following review helpful:
5.0 out of 5 stars
Probably the best book on Python 3 currently available, July 10, 2010
This review is from: The Quick Python Book, Second Edition (Paperback)
"The Quick Python Book, Second Edition" is Vernon Ceder's reworking of the well-received volume "The Quick Python Book" by Daryl Harms and Kenneth McDonald. Ceder has removed a number of specialized chapters on COM, C & C++ extensions, JPython, HTMLgen & Zope and, more important, he has brought the text completely up to date, covering Python 3.1.
Most Python texts out there describe Python 2.x, so this book's main competition is: a) Mark Summerfield's "Programming in Python 3: A complete introduction to the Python Language, Second Edition", and b) Mark Pilgrim's "Dive into Python 3", while two other major books have incorporated material on Python 3, namely c) James Payne's "Beginning Python: Using Python 2.6 and Python 3.1" and d) Mark Lutz's "Learning Python: Powerful Object-Oriented Programming, 4th Edition".
The Good: this book is nice and short. It assumes a certain level of competence/background, so it does not waste space introducing the language-independent basics of flow control, object orientation, exception handling, and so on. It is example-based, and unlike in Pilgrim's volume the first few examples are short and thus readable. Chapter 3 ("The Quick Python overview") can be used as a compact reference when you're done reading the book, and various tables throughout the book help it function as a reference. Unlike its competition, it doesn't spend chapter upon chapter on databases, networking, or web applications. Instead, such topics are covered in only one (short) chapter at the end of the book. Ceder offers useful advice on the interrelation between older and newer Python features, whether discussing how to be more idiomatic (e.g. in chapter 6 on the format method vs % formatting, and in chapter 14 when introducing the "with" statement) or how to migrate from Python 2 to Python 3 (he devotes chapter 22 to this topic). On the publisher's website you can find a list of errata as well as the complete source code for the book. There you will see a link to an "Author online" forum in which you can interact with Ceder; perhaps more important, everyone who buys a paper copy of the book may also download a free PDF version. It is to be hoped that other publishers will follow Manning's example.
The Bad: the author is very clear that the book is aimed at those with experience in another programming language. Even so, in a few cases the assumptions are Python-specific (and hence unwarranted): one example is in chapter 5, where he lets us know that if x is a list then y=x[:] makes a copy of x, though this does not really explain why we cannot simply say y=x to accomplish the same goal. Another example: in chapter 12 Ceder uses character ranges expressed with [], though these are introduced much later (in chapter 17). Similarly, chapter 3 is quite good if you've already come into contact with Python before (even fleetingly). If you haven't, it may be obfuscating (though you could always just skip it on the first read). On a different note, this book does not contain exercises, though Summerfield's, Payne's, and Lutz's volumes do (along with answers). As mentioned in the previous paragraph, Ceder does not include too much extraneous stuff something which in my opinion is definitely a plus. However, he does not say absolutely anything on threading while Summerfield has a chapter on the subject and Payne a section. Similarly, Ceder does not mention function annotations at all, while Summerfield and Lutz each have a section on them. Finally, Ceder keeps referring the reader to the Python documentation for more details, and this can get frustrating. On the other hand, I suppose it would have been impossible for the book to stay at its current 320 pages otherwise.
Ceder's writing is concise, but this does not imply that he covers only the bare minimum of material. To pick a relatively advanced topic as an example, Ceder spends 2 pages on metaclasses, Summerfield 4.5 pages, Pilgrim and Payne devote half a page each only in the context of the changes from Python 2 to 3, while Lutz, in keeping with the mammoth size of his book, spends more than 30 pages on the topic. This (arbitrarily chosen) example is in some ways indicative of the wider approaches taken by the various Python 3 book authors.
In a nutshell, the fact that this book is considerably shorter than its competitors does not mean that it is shallow. The compactness is due partly to the author's succinct style of writing (which is not opaque, however) and partly to the fact that it does not contain too much on database programming, web services, and so on. All in all, if you're looking for a solid book on Python 3 that you stand a reasonable chance of reading cover-to-cover, then this is the volume you should buy. Four and a half stars.
Alex Gezerlis
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
14 of 16 people found the following review helpful:
5.0 out of 5 stars
The best introductory guide to Python for programmers., October 6, 2010
This review is from: The Quick Python Book, Second Edition (Paperback)
This is the *best* book to learn Python for professional programmers or people that already know how to program on a different language.
If you're interested in learning Python but want to quickly get up to speed not only on the language itself but its real essence, its elegant syntax and effective coding style, this is really the book for you. It has all the basic stuff without the "fluff". You don't have to put up with basic tutorials for non-programmers or super advanced topics for language experts, Just what you need to start effectively writing Python code that is up to the standards of the Python community.
This won't be your only Python book, but it definitely has to be your first!!!
On the last few chapters it'll scratch the surface of more advanced topics and effectively point you to a wealth of online resources, where you'd be able to learn more and then decide if you want to continue on your own or pick a more advanced book focused on a specific topic.
It's a great book not only to learn the syntax and features, but grasp the "Zen" of Python which makes it such an elegant and "sexy" language.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
3 of 3 people found the following review helpful:
5.0 out of 5 stars
Useful to intemediate level python programmers, September 3, 2011
This review is from: The Quick Python Book, Second Edition (Paperback)
I've been using Python for years on occasional scripting jobs and I must say there were gaps in my knowledge.
I found this book is filling in a lot of them: I'm learning dozens of things about Python I didnt know.
For me the style, which is concise and clear is pretty much perfect.
I have noticed things it doesnt cover, like Template strings, but dont expect it to cover all Python in the short space.
A very enjoyable book you can dip into!
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No