Two years ago I was very kindly given the opportunity to review the excellent “Impractical Python Projects” by Lee Vaughan, published by No Starch Press (see: https://geektechstuff.com/2018/11/26/impractical-python-projects-book-review-python/), so when the opportunity to review “Real World Python” by Lee Vaughan, and again published by No Starch Press, was presented to me I jumped at the chance.
In the interest of openness and fairness: No Starch Press have given me a copy of the book for free for review purposes. They don’t have any say in the editorial content of my site / blog post. I’m still working through project challenges in the book, so far I am really impressed it’s like an early Christmas present and I now got some cool Python projects to work through over the coming winter months.
In the past two years I believe my Python abilities have grown, and I do periodically refer back to Impractical Python Projects for help on ideas for projects. However, I also have periods where a form of writer’s block kicks in and wonder, “What else could I use Python for?”. As if by magic, Lee Vaughan has answered with “Real World Python” which contains examples of real-world problems being answered by Python and then expands on the solutions with fun challenge projects and further reading.
In true geek fashion these real-world examples include a description of the science behind the example, Bayes’ Rule for the probability of something being true being used to help find an object like a pair of glasses in a house or a human out at sea. Lee manages to throw in so many projects like text analysis, web scraping and image recognition and these projects tackle most of the libraries that Python users probably hear about regularly but may not have found a use for.
My favourite though has to be the Chapter 6, “Winning the Moon Race with Apollo 8”. I’ve taught Code Clubs and had an interest in space / space technology since an early age and yet had never considered using the turtle module in Python to look at the three-body problem. Nor did I know that Apollo 8 had been designed in a way so that it would boomerang around the moon in the case of service module engine failure. Although Lee discusses the science in relation to Apollo 8 it is just as needed for NASA’s latest Artemis program.
I’ve always wondered how facial recognition works, and Lee explains this in Chapter 9 “Identifying Friend Or Foe” with discussion around Haar features and the OpenCV library, then builds on this in Chapter 10 to show how Python can be used to detect different faces.
Is this a book for someone new to Python? Probably not, for that I would say pick up “Impractical Python Projects”. However, this is the book that most Python programmers with a little bit of experience, looking for a fun challenge that relates to real world examples should read. In conclusion, I am really enjoying this book and it has given me inspiration for new projects building on the examples Lee has written about.
The No Starch Press page for the book is available at:
A details table of contents is available here.
Chapter 2 of the book can be downloaded for free here.
The code for the book can be found on GitHub at: