This is the second edition of a book on Python whose only real problem was that it wasn't quite up-to-date. The second edition cures this problem by converting to Python 3. This is great - unless of course for some reason you want to stick with Python 2. There is even a new chapter on converting from Python 2 to 3 so should you change your mind all is not lost.
There isn't anything much to say that is negative about this book so the few comments that I have to make should be seen in this light. It's existing worst point is its cover illustrations which is likely to embarrass any macho Python programmer with its unappealing doll-like illustration. Perhaps Manning would sell more copies of its programming titles if it changed its cover policy - and yes I do understand why it has decided to try to distinguish themselves by adopting a cultured and historical approach to the covers of programming titles but most of their audience isn't going to get it.
A second and equally small problem is the use of numbers in little black circles to mark out the listings and connect them with comments in the main text. I have to admit that this works - but I can't avoid saying that it looks horrible.
Criticisms over and they are minor. The book itself is a fairly standard approach to teaching a language. Everything is spelled out in easy to follow English. You get help with getting Python setup and writing your first program. Then we have an overview of Python and you need to be fairly bright to follow this as a beginner.
As long as it doesn't put you off, and it shouldn't, Chapter Four starts over with the elements of the language. This is clear but if you are a complete beginner, i.e. haven't got a clue what a variable or a loop is, then you might need some help. It is excellent for language convert however.
After covering more data types - Lists, tuple and sets followed by Strings and Dictionaries, Chapter Eight returns to the subject of the flow of control and knits together the control structures with the data types they manipulate. From here we move into increasingly sophisticated ideas - functions, modules, running Python programs, the file system, file handing, exceptions, classes, graphical user interfaces (Tkinter).
Part Four of the book deals with advanced topics - although you might want to argue with what is considered advanced - regular expression, packages, data as objects and advanced object-oriented features.
The final part of the book is titled "Where can you go from here" and covers testing, moving from Python 2 to 3, using libraries, network and web and database programming. A nice round off.
If you know a little bit of programming in another language and want to learn Python then this is a good choice that will take you from the beginning to very near the end of your Python development.