I was recently approached by the author of the free eBook, Intermediate Python by Muhammad Yasoob Ullah Khalid to review his work. Yasoob is the fellow behind the Python Tips blog. The book has been released as open source on Github but can be downloaded as a PDF from ReadTheDocs. But before I go into too much detail about the book, here’s my quick review:
Quick Review
- Why I picked it up: I was asked by the author to read the book.
- Why I finished it: I read through a lot of the book and skimmed the rest, actually
- I’d give it to: A beginner who wants to learn a bit more about the Python language
Book Formats
You can get this book in PDF, ePub, Mobi, HTML or in its source, which is in RestructuredText. You can purchase the eBook here.
Book Contents
The book is split up into 24 chapters covering 75 pages at the time of writing this review, but that may change since it’s open source.
Full Review
The book covers a lot of material, but doesn’t go into depth on any topic. It reminds me a lot of my own book, actually. There isn’t a bunch of introductory material and each chapter gives the minimum amount of information needed to grasp the topic. Some topics do get a bit more coverage than others. Each chapter is between 2 and 8 pages in length. I should mention that the book is rather rough and reads like a first draft. The Table of Contents is empty, for example. English does not appear to be the author’s first language, so some of the sentences can be a bit awkward as well. One of the benefits of being open source is that anyone can come along and fix these minor issues though.
Let’s spend some time talking about what the book covers.
The first few chapters go over *args / **kwargs, debugging, generators, and map/filter. At this point, I’m sure some of my readers will question whether or not the book is really covering intermediate level material as some will argue that *args / **kwargs or the map built-in are more beginner material. Frankly, there’s a fine line between what’s considered beginner and intermediate, so I’m not really going to go there. The book is free so you can make your own determination. Besides, there are plenty of intermediate level material to be had here.
The next few chapters go over decorators, mutation, __slots__ and virtualenv, among other things. You will also find chapters on the collections module, object introspection, coroutines, lambdas, function caching and context managers. There are a bunch of other chapters that cover such items as exception handling, globals, enumerate, comprehensions, virtualenv, ternary operators, etc.
I found the book interesting and it does cover a wide variety of information. The topics don’t seem to be grouped in a logical order though. Overall, I think the average Python programmer will find some nuggets of information to be gleaned from this book and with the entry price being free, I think it’s worth checking out. If you do like the book, you should support the author by purchasing the book.
Intermediate Pythonby Muhammad Yasoob Ullah Khalid |
Other Book Reviews
- IPython Notebook Essentials by L. Felipe Martins
- Creating Apps in Kivy by Dusty Phillips
- Kivy – Interactive Applications in Python by Roberto Ulloa
- Instant Flask Web Development by Ron DuPlain
- Real Python by Fletcher Heisler
- Python 3 Object Oriented Programming by Dusty Phillips
Bit of a mean spirited review, i think the book is pretty damn pithy and delivered in a no nonsense familiar prose. What’s not to like?
I didn’t intend it to be mean spirited. I pointed out many good points about the book as well.
Also thought it was pretty good. Not too easy, not too hard and still covering some important concepts!
What aspects did you find mean-spirited? I didn’t pick up a single bit of that. Do you think the book should only be praised? That wouldn’t qualify as a review. Suggesting areas that can be improved is the best way to help the author and I think Mike has a nice tone about that.
A bit harsh, read like a balanced review to me