Python Playground: Geeky Projects for the Curious Programmer

pythonplay cover front
Credit: no starch press

Mahesh Venkitachalam

no starch press, 2016

Ready to jump into some seriously interesting Python programming?  Here's a book that will challenge you to take on some fascinating projects while explaining everything you need to know to be successful.

Python Playground is NOT a book for beginners, but it is a book that anyone who is comfortable with Python scripting is likely to find is helpful for moving them from competent to skilled with this highly versatile scripting language.

It does this by providing a fairly large and varied group of geeky projects to motivate you to put your Python skills to work doing things like creating ASCII ART, simulating the movement of a flock of birds (or "boids" as the book and New Yorkers are likely to call them), rendering volume, and making better use of your Raspberry Pi -- all using Python.

This is the kind of book that will move you from knowing basic commands to understanding how to put them to use in some fairly complicated but fun programs.  The project that I jumped into was one that I could easily identify with -- creating ASCII art from photos -- after many years ago finding that I could write programs to manipulate jpg files.  So I got to work fairly quickly. Python was already installed on my Linux laptop.  I added NumPy (think "numbers" and "Python" -- a package for numerical/scientific computing in Python) plus python-devel and python-numpy, downloaded the code from the end of that particular chapter, and began turning some of my jpg files into ASCII.  Of course, I first read the details in the book that explained very clearly the process that the code was using and understood how various keyboard characters could create the "art" by representing the lightness or darkness of pixels in my photos.

me 1 Sandra H-S

maybe not my best mugshot

The resultant images are very low resolution, but the process works as expected and could be modified to create larger higher resolution images as needed.  And, of course, that's just one of the many projects you can work on.

The thing that I like best about this book is that the projects are advanced enough to help you develop marketable skills in Python -- one of the languages that is in high demand today.  I also appreciate that you can download the source from book's web site, and that instructions to install the additional software you'll need for many of the projects are included in an appendix.

Examine the chapter listing below and you'll see how wide and varied a range of projects is offered.  Anyone interested in developing skills and insights into what Python can do for you is likely to get a lot of value from putting these projects to use.

Table of Contents

Part 1: Warming Up
Chapter 1: Playing with Playlists
Chapter 2: Spirographs

Part 2: Simulating Life
Chapter 3: Conway’s Game of Life
Chapter 4: Karplus-Strong String Synthesis
Chapter 5: Boids

Part 3: Imaging
Chapter 6: ASCII Art
Chapter 7: Photomosaics
Chapter 8: Autostereograms

Part 4: 3D Computer Graphics
Chapter 9: Introduction to OpenGL
Chapter 10: Particle Systems
Chapter 11: Volume Rendering

Part 5: Hardware Hacking
Chapter 12: Introduction to Arduino
Chapter 13: Laser Lissajous Audio
Chapter 14: A Raspberry Pi–based Weather Monitor

Appendix A: Software Installation
Appendix B: Basic Electronics
Appendix C: Raspberry Pi Tips & Tricks

If you want to become adept at doing clever things with Python, I doubt you'll find a better group of projects or more useful help for understanding how the language works.

This article is published as part of the IDG Contributor Network. Want to Join?

To express your thoughts on Computerworld content, visit Computerworld's Facebook page, LinkedIn page and Twitter stream.
Fix Windows 10 problems with these free Microsoft tools
Shop Tech Products at Amazon