Programming the Raspberry Pi by Simon Monk
Having recently purchased my first Raspberry Pi, I did what any self-respecting reader would do: I looked for a book on the subject. Programming the Raspberry Pi is a great choice if you've done absolutely no programming with Python. Probably 2/3 to 3/4 of the book is focused on the basics of Python. There isn't much in the way of projects in this book. For those, look to the internet. I would not hesitate to give this book to a middle grade reader, though. While too complex for the very young, a 5th to 8th grader could easily manage the concepts presented. Be aware though: the first section of the book walks the reader through setting up your Pi board. The model it references is the Pi 2. Both the Pi 3 and Zero differ in significant ways from the Pi 2.