Think Python 2
An introduction to Python programming for beginners, using Python 3.
It starts with basic concepts of programming, and is carefully designed to define all terms when they are first used and to develop each new concept in a logical progression.

