Supercharged Python

Author: Brian Overland and John Bennett
Publisher: Addison-Wesley
Date: July 2019
Pages: 672
ISBN: 978-0135159941
Print: 0135159946
Kindle: B07T93J28B
Audience: Python developers
Rating: 3
Reviewer: Mike James
This book's challenge on its front cover is "Take Your Code to the Next Level". Is this the book you need?

 I have only one problem with this book - it isn't really advanced. This is a matter of opinion so don't let me put you off at this early stage. The preface states:

That's what this book is for: to be the second book you ever buy on Python and possibly the last.

The book then goes on to suggest that if you are a bit rusty you start with Chapter 1 which is a very basic intro to Python. Alternatively, start at Chapter 4 if you are a strong Python programmer but don't know everything. Read chapters 5, 6 and 7 if you want to deal with the special features and chapters 12 and 13 for advanced math and plotting software. My recommendation if you are a bit hazy on your basic Python is to read another book first - this is, after all, supposed to be your second book on Python.

Chapter 1 really is a very simple introduction to Python and you won't need it if this really is your second book on Python. Chapter 2 then goes over "advanced" string handling and, again, if you have read a book on Python before you probably will not get much from this - you really should know slicing and indexing already. This is fairly basic string handling. It completely misses discussing the interesting problems of Unicode and different ANSI code pages. Chapter 3 is another "advanced" chapter but on lists. In this case it does vary from the very basic to slightly advanced uses of the List and the Dictionary leading up to multidimensional Lists.  

Chapter 4 is just a collection of 22 shortcuts and consists of some very basic things -  the += operator - to slightly more advanced things - the args and kwargs list and what's an iterator. Chapter 4 might have made a reasonably attractive book in its own right - in this book it looks slightly out of place as a collection of things that didn't fit elsewhere.

Chapter 5 goes over text formatting - fiddly rather than advanced. Chapters 6 and 7 deal with regular expressions and the second of them does go into slightly more advanced areas such as named groups, capture and so on. Chapter 8 is about reading and writing files - binary and text.

Chapter 9 is really the only chapter that I think is on advanced Python as it deals with Classes, but it doesn't go very deep and there is little explanation of the ideas and it doesn't stray from the very basic notion of class and objects. For example, there is one paragraph on multiple inheritance and that's it - no mro and no metaclass. The chapter then goes into an enumeration of the magic methods.

From here the chapters go into various non-core Python topics:

Chapter 10: Decimal, Money and Other Classes
Chapter 11 The Random and Math Packages
Chapter 12 The "numpy" (Numeric Python) Package
Chapter 13 Advanced uses of "numpy"
Chapter 14 Multiple Modules.and the RPN Example
Chapter 15 Getting Financial Data off the Internet

Are there no more advanced Python ideas to explore?

You might like this book. It is fairly well written and nicely produced, but it is a collection of random Python topics that are mostly beginner to intermediate in level. In particular, the coverage of object-oriented Python is very limited with no real attempt to explain Python's rather unique approach to classes and objects. There are also lots of topics that aren't really directly about Python - more like Python applied to a particular subject area. This might be useful, but if you are looking for a book on advanced Python it might leave you feeling slightly cheated.


  • Mike James is the author of Programmer's Python: Everything is an Object published by I/O Press as part of the  I Programmer Library. With the subtitle "Something Completely Different" this is for those who want to understand the deeper logic in the approach that Python 3 takes to classes and objects.






To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.


3D Printing: An Introduction

Author: Stephanie Torta
Publisher: Mercury Learning
Date: December 2018
Pages: 370
ISBN: 978-1683922094
Print: 1683922093
Kindle: B07NMTKLXQ
Audience: Users of 3D printers
Rating: 3
Reviewer: Harry Fairhead
3D printers have gone from the latest thing to very useful things, but we still need introductions [ ... ]

The Lazy Universe

Author: Jennifer Coopersmith 
Publisher: Oxford University Press
Pages: 272
ISBN: 978-0198743040
Print: 0198743041
Kindle: B075ZZRH3M
Audience: Anyone interested in physics
Rating: 4.5
Reviewer: Mike James

OK, so it's a physics book - but it's a very interesting physics book.

More Reviews


Last Updated ( Tuesday, 10 March 2020 )