When comparing Learn Python the Hard way vs Think Python, the Slant community recommends Learn Python the Hard way for most people. In the question“What are the best resources to learn Python?” Learn Python the Hard way is ranked 3rd while Think Python is ranked 5th. The most important reason people chose Learn Python the Hard way is:
Teaches by giving a piece of code and letting the user see what the code does.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Practical
Teaches by giving a piece of code and letting the user see what the code does.
Pro Free
Available online for free.
Pro Encourages use of flash cards
To help better remember certain parts of the language, the author suggests using flash cards.
Pro Free versions available
The book is available for free in PDF and HTML formats. A hardcover version can be bought from Amazon.
Pro Beginner-friendly
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.
Cons
Con Author still suggests newcomers to the language learn Python 2
The only reason to learn Python 2 these days is if you have to workout on legacy Python 2 software, and upgrading to Python 3 is not an option. Telling newcomers to learn a outdated, and soon to be unsupported version of the language is detrimental.
Con Suggests looking up details on the web
The book often suggests looking up details on the web instead of providing them. Additionally, no resources are suggested where to look up such information. As a result the quality of explanation of details can vary based on used resource.
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.