The Wayback Machine - http://web.archive.org/web/20150906184521/http://python.about.com/od/bookreviews/fr/rev_begpython2.htm

Beginning Python - 2nd Edition

About.com Rating

Compare Prices

It has been a few years since the first edition of Hetland's introduction to Python was published. Even a casual glance shows that this second edition differs significantly and positively from the first edition. Aside its size (52 pages longer), the second edition is updated for Python 2.5.1 and includes special tips on Python 3.0.

Laying the Groundwork

As with the first edition, the book itself is laid out very well. In the first nine chapters, the author gives an overview and then covers Python fundamentals in some depth. The tenth chapter introduces the reader to the Python Library. From there, the reader is taken through a series of diverse but practical tasks. These include working with files, graphic interfaces, databases, networking, and web programming.

This tour is completed by discussions on application testing, extending functionality of Python programs, and how to package programs for distribution. The final chapter is one that I wish every Python book - even every book on programming - had more of: the philosophy and practice of software development. Essentially, Hetland lays the groundwork for the user to successfully plan and develop sophisticated full applications.

Some Experience Under Your Belt

That philosophical groundwork is then fleshed out in leading the reader through ten programming projects. As is oft noted, one must program in order to learn to program. These tutorials hold the programmer's hand as s/he does just that. By the end of the ten chapters, one has done a bit in several different genres of Python programming. The projects include:

  1. automated text markup
  2. graphics generation
  3. automatic website generation using XML
  4. a news reader using NNTP
  5. an IRC chat server from scratch
  6. remote text editor (using CGI)
  7. computerised bulletin board application
  1. command-line file sharing utility
  2. the same file sharing utility with a graphic interface
  3. a simple arcade game with PyGame

Some Key Benefits

Throughout the twenty-nine chapters that comprise the book, Hetland shows sensitivity to the uninitiated. The books is definitely not for those with a decade or two of programming under their belt (although there are points here that even they could learn), but it is written for the beginning programmer. Hetland walks the reader through the logic of each program and command, building on what is covered before until the reader is proficient. One of the key benefits in this second edition, however, is the myriad of excurses that Hetland has included. Where the first edition had a few of these for clarification of simpler matters, the second edition builds on these to include fuller discussions on more sophisticated matters (e.g., prototyping and rewriting). The book is so full of these that one wishes there were an index of them for easy reference.

From 2.5.1 to Python 3.0

Finally, in addition to the three appendices that made the first edition so helpful (see my review of the first edition for more on these), a fourth appendix is included to help the reader stay current with Python 3.0. This will doubtless prove a critical reference for anyone who uses this book to keep current with code written in the new Python syntax. One wishes, however, that references to the 3.0 syntax were inserted more frequently in the main text. For example, the new print syntax (print as a function) is not mentioned at all in the main text but is taken up in the appendix. This second edition is a welcome updating of one of the best Python introductions in print. Hetland's comprehensive understanding of Python and its internals serves as a dependable bedrock for the reader to learn. Despite the few desiderata already mentioned, I would recommend this volume for anyone who wants to learn Python from a book. At this point, there simply is no better guide in print.

Compare Prices