Core Python, by Wesley J. Chun, Prentice-Hall, 2007, 1077 pages

If I could only own one Python book, it would be Core Python Programming, Second Edition by Wesley J. Chun. This book manages to cover more topics in more depth than Learning Python but includes it all in one book that also more than adequately covers the core language. If you are in the market for just one book about Python, I recommend this book. You will enjoy reading it, including its wry programmer's wit. More importantly, you will learn Python. Even more importantly, you will find it invaluable in helping you in your day-to-day Python programming life. Well done, Mr. Chun!

Mr. Chun’s writing style is uniquely qualified for his subject matter. He writes as if he were in the same room with the reader, engaging in a conversation. He anticipates questions, and explains ambiguities. I find his explanations of new and difficult material to be the best there is. He points out the reasons why difficult or new features are useful, what problems they are intended to solve, and then illustrates programming techniques with the shortest possible example code, making it as clear as conceivably possible. This style suits my brain.

The book starts out with a quick but competent overview of the whole language, then moves into much more detailed coverage of each topic. This allows for more comprehensive coverage than if the author tried going into full detail on first bringing up each topic. For instance, the chapter “Functions and Functional Programming” gives the best coverage of this topic I have yet found, but it doesn’t start until page 408, which is possible because using functions in Python was covered initially in the beginning language overview, in enough depth to allow other topics to be explored but saving the good stuff until the more comprehensive coverage later.

The book really shines in coverage of network, web and internet programming, which takes up three whole chapters. Threading and databases also get a whole chapter each, as do regular expressions and GUI programming using Tkinter.

The book did not get written quickly, and it shows. The original edition itself was a masterpiece but six years later, the care and craftsmanship of many years is quite evident in the evolution of this book, which at 1077 pages contains no fluff.

The physical book is top quality with a very large and clear typeface that my older eyes greatly appreciate, printed on quality paper with a quality binding. Obviously well edited, the entire book is a work of practical art.

Core Python Second Edition is my favorite Python book.