Python is fast becoming the language of choice for producing applications over a wide spectrum of computing domains--from artificial intelligence to scientific computing, from Linux package management to launching and configuring clusters, and from Web applications to developer tools. The core Python language is relatively small and compact, but its main strength is the ease with which the language can be extended by libraries. Packages of useful modules, implemented both in Python and other languages such as C, may be easily incorporated into application code.
The standard library is a prime example of the fruits of an open-source project. The library consists of a large--and still growing--collection of components donated by the Python community over the past decade. These components are continually extended and improved, and provide a rich resource for the Python programmer who, by using just the core language and the standard library, can efficiently produce portable software for a wide range of applications.
The approach used in this book is the same as that used by the author in his Python Module of the Month blog. Each module is introduced and discussed through one or more useful examples. This exposes the reader to a large amount of good code with proper use of the standard libraries and common Python idioms. This approach is somewhere between a reference manual and the O’Reilly cookbook style of programming language texts, and is exactly how many programmers learn their trade and extend their repertoire--by copying the masters.
Each chapter concentrates on a subject area and presents a group of relevant library packages. For example, the math chapter contains discussion of several libraries: decimal (arbitrary precision arithmetic), fractions (rational arithmetic), random (various means of generating random numbers), and math (a host of useful mathematical functions). The coverage is comprehensive and results in a book with over 1,300 pages.
While few readers will refer to all of the chapters, this volume will be immensely helpful to programmers who have picked up the core language and want to write more complex software. It will also be welcomed by more advanced coders as a reference book providing a consistent view of a large resource. All in all, this book is a most useful addition to the ever-increasing number of Python texts by an author who has extensive knowledge of the standard library.