Ranked in these QuestionsQuestion Ranking
Think Python is a free book designed for those with no background in programming. 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. Larger pieces, like recursion and object-oriented programming are divided into a sequence of smaller steps and introduced over the course of several chapters.
Pro Free versions available
Con Some missing instructions for absolute beginners
Some exercises sometimes require taking steps that aren't explained. Some functions and commands are used without explaining their purpose.