The Python Standard Library By Example - Review
The Python Standard Library by Example, Author:Doug Hellmann, 1344 pages, Publisher: Addison-Wesley Professional; 1 edition cover Price $59.99 (June 11, 2011), ISBN-13: 978-0321767349
I cannot imagine the effort it has taken to produce this book which is huge, detailed, and authoritative. It contains excellent descriptions, code examples and discussions applicable to the main modules contained in the Python Standard Library. The audience for this book is the intermediate Python programmer.
Learning Python, or any reasonably current language i.e. Java, .net, perl, php, is a lot more than just learning the syntax. To be effective and productive you also need a reasonable knowledge of the libraries and functions that support the ecosystem of that language. There is little point in re-coding common functions that have been solved and debugged, in many cases by programmers way better than yourself. So each ecosystem has its own, usually massive library of so called "standard functions". In Python the basic or core functions are encompassed by the "Standard Library". As language libraries go the Python Standard library seems to me to be particularly well documented. Yet this book also has a lot to contribute. It is huge (did I mention that?), 1300 printed pages and 600 +pdf pages.
I read the PDF version on a new Android Tablet and the experience was quite good. For me, reading books such as this are an important part of the learning process. I'm sure not going to remember everything and I do skim a fair amount. The result however is that I have a nodding acquaintance with a broader set of capabilities and usually have a dim recollection of where and how to look things up when I finally run into the use case.
Compared with the Standard Library Documentation itself which weighs in at about 17 mb in PDF form, vs. this book which weighs in at about 10mb in pdf form, what is the difference? Other than 7mb?
According to the author, in several messages in response to me, he stayed away from the platform-specific stuff, and things like audio formats. He also didn't cover Tkinter, because there's a whole book on that by Grayson (688 pages by the way). Other omissions were a matter of having time to finish.
This book tends to include more discussion about use cases and alternative approaches and libraries than that contained in the Standard Documentation itself, more of the "why". Source code examples are presented with discussion, and a few cases include line-by-line explanations. It also contains many more cross-references to even more documentation in the standard documentation as well as in other on-line resources. In spite of the author's warning that some of the libraries and functions require knowledge of the subject area, particularly for some of the technical network libraries, I found that they presented the topics in reasonable detail for me with my limited understanding of the topic. That is very helpful for those needing deeper understanding of what for many of us is pretty arcane subject matter.
I received the e-version of the book as part of the Dzone review team, and the promise of a hardcopy when I get the review done!
This book is and will be a key resource for many serious Python programmers and provides a resource for understanding and using many of the Standard Library capabilities. It will be in a handy space on my bookshelf and is highly recommended.