In today’s blog post I am going to review two books on Python. I decided to do two because both of these books are essentially reference books from the Developer’s Library series by Addison Wesley publishing. The first book I will be reviewing is titled “Python Essential Reference, Fourth Edition” by David M. Beazley. It is a bit of an oldie (2009) but I think is a great reference book for those who need to quickly look up some functions/methods/classes etc in Python 2.6/2.7 with mentions of how to migrate to Python 3. The second book is titled “The Python Standard Library By Example” by Doug Hellman. This book is only a smidge outdated (2011) but it too has proven invaluable to me and my projects. I am doing these reviews because I love actual physical books… sometimes more than reading online. There is something to be said for being able to have a physical book in your hand with a classic old index in the back.
When it comes to reference books you usually run into two flavors. One is that a book is packed to the max with tables, charts and function signatures. They have little description with enough to only give you a rough idea. I have to admit I love these types of books. Thicker the better! The second is a book that mixes the “hard facts” with a bit of background explanation. This book is definitely the second type of book. However, what attracted me to this book the most is the physical size of the book. It fits nicely in your hands but is bigger than a pocket guide and small enough to toss in a bag easily. You would think a book of this size would have microscopic text but, while the font is smaller than maybe you are use to, I find it still very clear and legible. It is also nicely arranged on the page making the reading easy.
Another thing that is great about this book is its balance in content. It has a pretty even mix of lists, function signatures and full function examples. In addition to that, it has a lot of description text. The descriptions are great and the author has taken the time to organize everything so that code and text flow well together. He also takes the time to explain what things are all about but is also brief and doesn’t ramble.
You have to keep in mind that this book is a reference and doesn’t have a lot explanations to teach you all about programming. The book does introduce you to a bit of the syntax and how things might be written out in code examples, but then jumps straight into covering all the topics it can. It covers a wide range of topics in a book that is roughly 638 pages but doesn’t feel at all bulky. I don’t know if the paper is thinner or what!
The problems I had with the book is that if you have further questions about a specific function or class, and the description doesn’t help you, you are pretty much on your own. Again, it is mainly a reference and does not to teach you everything about the language. I also wish they would release a more current edition now that Python 3 is regarded as the version of choice for new development projects.
Despite these drawbacks, I highly recommend the book for those who like to have a hard book in their hands that they can refer to while they learn more online. This book is a great complimentary book to your programming practice online and also compliments the next book we are going to review nicely.
This book is a bit thicker than the first book and contains much more example code. This book has roughly 1258 pages, not including the index, and the font is a bit bigger and closer to a font size that you might find comfortable. Unlike the first book, the content in this one is a bit more like a 70/30 mix between example code and description text. It takes the stance of showing you examples, using the Python Standard Library, as a way of learning and leaves out much of the explanation. With a language like Python this might work out well since the documentation online is stellar.
The book covers an array of functionality including, but not limited to, XML, email, cryptography, concurrency, runtime and language services, manipulating text, testing and debugging, regular expressions, Internet and more. The code examples are practical and the book does a good job of not sugar coating everything with unrealistic examples. It is not your traditional reference book in that it is more of an example reference than a book that lists the hard facts behind various functions and classes. This is why I find the book a good compliment to the first one and I recommend actually buying both together. If you see something in the essential reference and want to see more examples of how it is used, you can dive into this second library example book for code.
The problem I had with this book is that it primarily deals only with Python 2.7 and has no real reference to Python 3. So some of the examples deal with Python 2.7 versions of libraries that may not be available in Python 3 or that may work in a slightly different way. If you are new to programming Python and are working with 3.x, you should still find the book relevant and other than a few small changes (like how you use the print statement) you can get by. If you are an experienced programmer in other languages you probably won’t have a problem at all with this book.
Both of these books are highly recommended for those learning Python and need a quick reference. Combine them, along with the documentation online, and you have all you need to get a grasp of the language. That is once you have setup your choice environment of course. I have taken the strategy of diving into the essential reference first for something and then following it up with the example book to help solidify my understanding. They really compliment one another and can give you that extra support. You just have to keep in mind that they are reference material and not really something to teach you the ins and outs of the language (from a tutorial sense). One thing to keep in mind is that when you combine the cost for these books together (Roughly $67-70 dollars on Amazon) you get two books for the price you would normally pay for some other programming book. You can’t beat that! They make a great addition to any programmers “real book” library. Enjoy!