If you would like to add Python to your programming tools, this seems to be a good place to start.
Reviewing books on Python is much harder for me than reviewing books on C or C++. In the latter cases I can quickly determine the author's technical proficiency and if a book fails that test, the question is whether there are some redeeming features that make it worth encouraging the author to revise the book, or should I just commit it to the waste bin. Harsh, I know, but we have enough good books on C and C++ so that we should not be encouraging bad authors to waste resources, both theirs and ours.
Now, I am just struggling to learn Python and it will probably take me a good while to get a firm grasp of it, so I must assume, within reason, that the author is technically correct. If I am wrong, and you, as the reader of this review know that I am, please make an extra effort to write your own review and send it to me (editoraccu.org). It is only in this way that I can afford to have a provisional opinion on a book such as this one.
First a few details. The book comes with a CD that includes the source and binaries of all the current releases (well, that is up to 2.0, though 2.1 is now in beta). It also includes JPython 1.1 as well as the source from this book, the latest FAQ for Python as well as various other extras.
The book itself is printed clearly though sometimes I find some text in an overly large typeface. When source code is discussed in the text, it is displayed with numbered lines. This makes it easy to follow and is a pleasanter style than that where authors insist on including multi-line comments in their source code.
Code which is just to read, or better still, for you to type into your implementation is displayed with the output; i.e. what is on the printed page is what you should see on your screen. Keywords are in bold typeface other source code is in a pleasant weight typeface so that it does not intrude on the reader by being excessively light or dark compared with ordinary text.
To summarise, the book has a pleasant feel to it and is well presented and the accompanying CD is well planned with effective use of the space available. Access to and control of the material on the CD is through your browser, and it works smoothly on my MSWindows machines. I cannot comment on how well it would do on another platform but I have every reason to think that you will have no problems as long as you are using one of the more popular platforms.
Now a quick look at the contents of the book. The author keeps a clear vision of his purpose in writing this book; providing the reader with a clear introduction to Python. I think this kind of focus is important. It too often gets lost by authors in their struggle to distinguish their book from the multitude of competitors. What I look for in a book for novices to a language is good writing that is technically accurate and keeps focused on the main objective. Several books I have reviewed recently seem to have other (sometimes hidden) agendas. Fine, but if they claim to be a book on a programming language they must pass that test before I will countenance any other considerations.
This book is purely about Python, and how to use it for several styles of programming. Like C++, Python is not a single paradigm language. It is more object-oriented than anything else but it does have facilities for such things as a degree of functional programming and the author takes time to cover those.
If you would like to add Python to your programming tools, this seems to be a good place to start. I will recommend this book unless anyone wants to explain why I should not do so.