< Posts

Review of Impractical Python Projects

Jan. 8, 2021

The first introduction that you read about python should teach you the base language. This book is here to teach you all of the things that can be done with that language and how to make it better. This might be a gold standard in Python educational material. A must have second book for every developer that ever wants to learn python as a language. The book starts out teaching the reader about linting, doc strings, and pep guidelines as a chapter one. Something that all senior developers consider important things to learn, but often something that books never teach. Because of this I will have to spend a long time in the bonus points section. So come along with me in my wonderful python journey reading “Impractical Python Projects”

Ok, are they gone? I think I got rid of all the people who will only look at the highlight sentences. So now I’m going to sit down and go through all the actual pieces of this book and explain my system. I rated this book on 3 main subjects:

Readability: How easy is this book to read and how quickly could a person finish the whole book

Accuracy: how accurate is the book? How many errors does it make in the code or text?

Subject: Does this book do what the cover or back says it does? Is what the book wants to teach you good?

Bonus Points: This is just for outside resources that the book points to directly. I might also add some places where you can find more education from the author such as informative twitter threads or medium articles that the author offers for free.

Readability 9 out of 10:
This books readability comes from the fact that a lot of it’s projects are quick and fun. Most of the things listed within this book are projects you might actually do if you weren’t getting paid to write code. Because of this I found that I actually wanted to read deeper into the book and get past the important concepts that it was going over. The concepts tend to slow it down the books readability considerably, but because of fun projects I wasn’t bored with the conversations the author was trying to have. Because of this you don’t often reach those slowdown points long or often enough to notice that they are actually slowing you down. There placement is often handy because it takes time to show you where you might be able to expand this particular project.

Accuracy 10 out of 10:
This book intentionally tells you when it’s not doing best practices in order to meet the impractical or fun parts of its code. The great thing this author has decided to do is make sure that it tells you when these are bad practices that should be avoided. Practices like not using pylint or flake8 to look over your code. Doing this will help you see similar code in the future and know what to do to fix it or improve it’s overall quality.

Subject 10 out of 10:
This book does exactly what it says it’s going to do “Give you python projects that aren’t practical” Between creating your own funny name or haiku generator, Breeding an army of super rats, and simulating Alien Volcanoes I can say that I had fun with this book. The main draw will be the fact that you could jump around this book taking projects that sound interesting to you and still get something out of it. This book offers 24 interesting projects in total and most of those projects can be stand alone, allowing you to do them without having to start at page x and y. The more advanced projects are in the back half of the book and the projects that focus on the standard library can be found in the front half. The book doesn’t even ask you to rely on major libraries like Scipy or NLTK until almost 150 pages in. This is nice as it might ask you to use libraries that you wouldn’t normally think about or use in your daily work environment. It will also provide a challenge at the end of every chapter as a summary of sorts to do on your own. This is to make sure that you can actually take this information and run with it.

Bonus Points:

+1 To doing a good job staying inside of the standard library:
This book about python doesn’t have the reader move outside of python until almost half the projects in the book are done. In fact the book doesn’t lean on imported libraries until the 15th project of 24 ,when it has to use them in order to properly work with natural language processing. It even goes through some more advanced topics like creating algorithms with just the python standard library. This can show people how python can be used as a general purpose language rather than just a base for whatever they’re going to import. Because of this the author gets kudos from me.

+2 to the further reading sections:
When you complete many of these projects you will find a section called “further reading” this section is just a way for the author to provide you with more. Whether that’s other books to read, more data to use, or information on why hash tables can be efficient this book offers it up. I always love when a book can give more than it’s pages are worth by throwing more opportunities to educate yourself. I give 2 bonus points to this book because it has this in spades while still providing you with about 350 pages of good exercises and education.

Author: Ian Mizer

Categories: Book Review

Tags: Book Reviews