I have been given the opportunity to review “Impractical Python Projects” by Lee Vaughan, published by No Starch Press. First in the interest of fairness and openness;
No Starch Press has very kindly given me a copy of the book for free.
I first found out about No Starch Press way back in 2002 when I purchased one of their books which was ironically called “Steal This Computer Book 2”. I enjoyed that book and have since purchased several physical No Starch Press books and lots of digital ones (mainly via the awesome Humble Bundle deals). So I jumped at the chance to read/review Impractical Python Projects, I am a couple of chapters in and having a great time both completing the Python projects and expanding my knowledge.
I’ve been playing/programming in Python for a while, normally for my own little projects that spring up from time to time, or when I hear about something at work and think “Python could resolve that”. I’ve read through a few Python books, sat through a few online courses and I’m currently working through the Python Developer path on LinkedIn Learning. The introduction to the book gives a clear aim which works perfectly, “The ultimate goal of this book is to spark your imagination”. Python is programming language, but it is also fun to play with and this book recognises that.
Impractical Python Projects has the tagline “Playful Programming Activities to Make You Smarter” and the book lives up to this tagline, the author (Lee Vaughan) teaches Python programming whilst exploring the galaxy, the workings of finance systems and game shows, and the world of espionage. Along the way the Python modules that most Python developers need to know about are tackled including tkinter (GUI development), pygame (used to build games)and matplotlib (if you plot data in Python, you’ll need matplotlib).
Lee uses references that any geek will of heard of (or know very well); Zatanna from CD scimoc, Tom Riddle from Harry Potter and even James Bond. Each one is used in fun way to show what is expected from the programs. Whilst being fun the book also introduces PEP8 & PEP257, how to look for help (Stack Overflow) and planning/designing a project – topics that most beginner programmers may have not considered and Lee introduces them well. I like that Lee has defined the objectives and the strategy for each chapter so that it is taught as a skill in indirectly whilst carrying out the tasks.
The code used in the book is available for download from the No Starch website (https://nostarch.com/impracticalpython/) however Lee recommends that the reader types it in; and I whole heartedly agree. I make mistakes when typing. I make mistakes when coding. I learn from those mistakes. I also read code better if I am reading it and then typing it. I don’t learn so well from just copying and pasting someone else’s hard work.
Chapters reference other Python resources (both online and in print) and the end of the chapters have a “Further Reading” section which I found to be both informative and a great springboard into more learning, which the reader can do at their own pace/time. Lee also lists more project ideas to build on what the reader has just learned, again I found this to be a great inspiration when thinking about how the chapters lesson(s) could be used in other projects.
I am going to continue on with Impractical Python and I can tell it is going to be both a source of inspiration for some future projects and also a source of entertainment. I am looking forward to reading more of the book / completing more of the programming, so expect more reviews/nods to the book on geektechstuff.com
No Starch currently (November 2018) offer Chapter 3, the table of contents and the index as PDF files for free on their website: