Author: Doug Hellmann
Publisher: Addison Wesley
Date: June 2017
Audience: Python developers
Reviewer: Alex Armstrong
An up-to-date, Python 3, reference work on the standard library - essential for some.
This is an up-dated version of a book that we said needed a Python 3 version and, despite it taking a long time, here it is.
Once it was enough to master a language, but now you also have to master the frameworks that surround them. Python is an easy language to learn, but then you have its Standard Library to navigate you way through. If you don't know what is in the library you might well waste a great deal of time reinventing the wheel. Equally to know something exists but not to know exactly what it can do is a problem. This book attempts to show you the Standard Library in detail and so get you up to speed creating real Python programs.
The book is based on the popular "Python Module of the Week" blog series which has now been updated to Python3. You can still visit the blog and read the accounts at https://pymotw.com/3/ and the original Python 2.7 version is also still available.
However, it has to be admitted that if you don't want the convenience of the book the website provides the same information for free. Having used the word "convenience" it has to be pointed out that at 1456 pages this is not an easy book to physically read.
The "by example" part of the title is reasonably accurate. The different functions and data structures are explained and then their use is illustrated by a, sometimes quite long, example. You could say that the examples are not specific enough and you can find exact answers by searching the web but this is more about the general use of the functions and it is up to you to be skilled enough to put them to work.
The topics covered are pretty much what you would expect: text. data structures, algorithms, dates and times, mathematics, the file system, data persistence and exchange, data compression and archiving, cryptography, processing and threads, networking, internet, email, application building blocks, internationalization and localization, tools, runtime features, language tools and finally modules and packages.
This is a big book and I certainly haven't read it from cover to cover. In most cases you are going to use it to clarify how some part of the library works when you have a specific problem to solve and in this role it makes excellent background reading.
To get very much from this book you have to be able to program in Python and this means it isn't for the beginner. At what level you would start to get something from the book is difficult to say, but even intermediate and advanced Python programmers will find features of the library they didn't know about.
There is a lot of good code in this book and good code is worth buying.
Author: Cathleen Shamieh
Reviewer: Harry Fairhead A book that introduces electronics to kids - what could be a better preparation for the modern world?