Page 1 of 3
Python is an increasingly important language. As well as being popular for teaching computer science it is popular for scientific applications. It is also a divided language with its community split between Python 2 and Python 3. This selection of books is for those with experience in the language.
Our contributors have reviewed more than 40 books relating to Python, but to be included in a Programmer's Bookshelf selection a book has to have been awarded at rating of at least 4 out of 5. In the case of Python there were so many high-rated books that we had to split them into two piles.
We've already covered Python Books For Beginners and here is our selection of books recommended for intermediate to advanced Python programmers.
For this round-up the main points of each review have been extracted. To read the full version click on the title. Clicking on the book jacket thumbnail in the side panel will take you to Amazon and if there's is a Kindle version (the lower of the two thumbnails in the side panel) you can generally read the introductory chapter.
If you make a book purchase accessing Amazon via a link to it on IProgrammer we are credited with a few cents - so thanks to all of you who support us in this way.
The first of our recommendations for books for those who already have experience of Python is a weighty tome that deals primarily with Python 3.3 but points out differences with Python 2.7 as it goes along. Like many books that have followed Python over many generations it includes various references to the TV show Monty Python's Flying Circus. This is something that some readers may find confusing since the zany comedy series was originally broadcast between 1969 to 1974. However, as most Pythonistas will know, Python's creator Guido Van Rossum named his language after the Monty Python comedy team and there is a longstanding tradition of making jokey references to this classic, such as the IDE being called IDLE after Eric Idle.
Author: Mark Lutz
Publisher: O'Reilly, 2013
One problem with books that get revised when new versions of a language are launched is that they tend to grow in size. This printed version of this book, now in its fifth edition is 1600 pages. Which led reviewer Mike James to suggest that its size might be "intimidating". He also thinks that the inclusion of "Learning" in the title a bit misleading. This isn't a beginner's book and perhaps "Consolidating Python" would be more suitable.
He notes that the book is divided into nine sections including appendixes and says:
I really doubt that anyone is going to read this book from the first page to the last and I have to admit that I most certainly haven't. I have read large chunks of it, though, and it is very useful for looking up particular Python topics when the need arises.
His criticisms, that means the book only gets a rating of 4, are:
The author tends to be complete and once started on a topic tends to deal with it until it is complete .... [He] also tends to be repetitive, mostly in an attempt to make each chapter self contained, which contributes to the size of the book. As long as you are prepared to skip bits this might not be a huge problem.
In conclusion he says:
Overall this is a book that is probably not going to please any of its readers 100%. It is a useful intermediate-level, extensive look at Python and as long as you don't expect every page to be a reward for buying it you won't be disappointed.
If you are a "working" programmer then a good cookbook is going to a useful addition to your bookshelf. Cookbooks are difficult to review because which recipes the reader is going to find useful depends on the reader. The best the reviewer can do is make a guess on how generally useful the topics covered are and how "non-obvious" they are.
Python Cookbook, 3rd Edition
Author: David Beazley & Brian K. Jones
Publisher: O'Reilly, 2013
This book is another that covers Python 3, which might pose you a problem if you've not yet made the transition from the still-popular Python 2 as some of the recipes might well not work as listed. However Alex Armstrong argues:
If you are still using Python 2 it is worth finding out how to convert these examples where necessary - for one thing doing so might get you to switch to Python 3.
He also notes that this is a book that will stretch you:
While there are a few simple recipes the majority take even the experienced Python programming into deep water
and suggests that it will help you improve your understanding of Python:
I think that this is one recipe book that probably has an "advanced Python" tutorial book hidden inside.
In this review the conclusion is actually stated at the beginning:
The short version of this review is - if you write Python just get a copy. It will not only save you time in the long run you should get a lot of fun out of reading it.
But if you want to know what the book covers in its fifteen chapters, the review goes does go through the topics in detail before repeating its advice:
Highly recommended to the intermediate to advanced Python programmer.