Python Programming: An Introduction to Computer Science: Zelle, John: 9781887902991: Amazon.com: Books (original) (raw)

I purchased this book because I needed a good introduction not just to Python, but to programming in general. I already knew a bit of Python, and was experienced in BASH and Matlab, so perhaps that made the transition easier for me.

This book is good for beginners and learning the basics of programming. Unlike the online docs (which are useful in their own right), this book goes through the steps involved in writing your own programs. The exercises at the end of each chapter are also very helpful. There's no better way to learn than by writing programs...

As a bonus, the author wrote a graphics library, which is just a wrapper around the Tkinter library. It's pretty handy if you want to do simple graphics stuff in a hurry, but if you want to do actual graphics, you'll need to look beyond this book.

A couple downsides: I didn't see lambda functions, filters, or maps in there, but this is a very minor complaint, and when you're finished with this book, you can easily just look at the online docs to learn about them. And if you want an in-depth look at modules (e.g. sys, os), you'll have to look elsewhere. But this doesn't detract from the book at all.