Book review: Core Python Programming <i>by Wesley J. Chun</i>

Programmers and system administrators have many options when it comes to choosing a language to write scripts. One excellent choice is Python, a programming language designed to be easy to learn yet powerful enough to complete real-world tasks and requirements. Core Python Programming, 2nd Ed. by Wesley Chun and published by Prentice Hall is the text that will guide you through the Python language and integration with other applications and programming languages. Mr. Chun presents both basic and advanced Python topics in an excellent manner. If you are looking to brush up on or learn Python, Core Python Programming, 2nd Ed. is the one book you need.

The front cover of Core Python Programming, 2nd Ed.

At first glance, the book itself is large. It’s comparable to other programming books, but still looks large. Of course, it does cover a lot of material. The picture on the front cover shows people working together to place various objects in holes of the same shape. Those objects represent Python, and more specifically how Python can help fill the holes in your environment. This book goes into great detail about what exactly Python can do and how your Python applications can be shaped to work with your needs, whether they be CGI, database, GUI, or system administration.

This book goes into great detail about what Python can do for you

The contents

As mentioned previously, Core Python Programming, 2nd Ed. is a hefty book. It tips the scales at 1120 pages with probably 12 or 14 point font. The book is full of many code examples. One very cool feature is that immediately following each example is an explanation of each section of the example. This is very helpful in trying to discern exactly what is happening in the script. The other nifty feature is that code examples have keywords bolded. This makes reading a lot easier. Each chapter begins with a list of topics that will be discussed and ends with a list of exercises. This might be helpful for someone using the book to teach a class on Python programming. This book relates well the differences between Python and other popular languages, such as C/C++, Java, Perl, and PHP.

The book itself is split up into two parts, the core language, and advanced topics, comprising 23 chapters, two appendices and an index. The core language section discusses the basics, including strings, numbers, flow control, lists, operators, I/O, error handling, functions, modules, object-oriented programming, and how to execute Python scripts. The advanced section, which takes up the latter third of the book, includes topics such as regular expressions, network and internet programming, multithreaded design, GUIs, web and database access, extending Python, and concludes with information on Win32 COM and Jython/Java integration.

Who’s this book for?

This book is an incredible tool. It can be used very effectively for those with very little programming experience, since Python is an easy language to read. Additionally, the author brings up differences for programming veterans from other languages, which makes the book easy to learn Python. The exercises at the back of each chapter make it a nice candidate for an instructor of a Python programming class.

Relevance to free software

Everything in the text relates non-platform specific software, except for a small section on programming Microsoft Office with Win32 COM objects.

Pros

You should buy this book because it is the best reference guide and learning material on the Python programming language. The book is easy to follow and is an excellent place to start or brush up on your Python skills.

Cons

Python pros, or those looking for answers and examples to specific problems may not enjoy this book. The book is also not a complete reference of the Python language, but does do a very good job of explaining it.

Title Core Python Programming, 2nd Ed.
Author Wesley J. Chun
Publisher Prentice Hall
ISBN 0132269937
Year 2006
Pages 1120
CD included No
FS Oriented 9
Over all score 10

In short

License

This work is licensed under a Creative Commons Attribution 3.0 Unported License.