There are many, many books about learning Python, a lot of them free, and two in particular stand out so I wanted to recommend them here. Which one you should read depends on your thinking style.
Academic and Conceptual
Book: Think Python by Allen B. Downey
This is my recommendation for learning the concepts and foundation of Python. It’s available both as a free PDF and for reading online.
If focuses on core computer science and programming concepts, such as data structures, algorithms, recursion, and object-oriented programming. As such, it’s for you if you want to build up a more academic understanding of Python and computer science.
Practical and Hands-on
Book: Automate the Boring Stuff with Python by Al Sweigart
This is my recommendation for learning how to do specific things with Python. There’s no PDF but it’s available to read online.
This book is highly practical and helps you solve everyday problems using Python, such as interacting with files, scraping data from the web, manipulating spreadsheets, and automating GUI operations.
How to Choose?
Think Python: How to Think Like a Computer Scientist
- Beginners to Programming
- Students Studying Computer Science
- Individuals Switching Programming Languages
Automate the Boring Stuff with Python
- Non-Programmers Seeking Practical Skills
- Beginners Looking for Practical Applications
- Experienced Programmers Seeking to Broaden Skills
In Summary
| Parameter | Think Python: How to Think Like a Computer Scientist | Automate the Boring Stuff with Python |
|---|---|---|
| Intended Audience | Beginners to programming, individuals seeking a foundational understanding of computer science | Individuals with or without programming experience who want to use Python for practical, everyday tasks |
| Approach | Traditional, academic; focuses on fundamental concepts and theories | Hands-on, practical; shows how Python can be used to automate common tasks |
| Content and Structure | Focuses on core computer science and programming concepts; uses Python as the language of instruction | Centers on using Python to interact with files, web scraping, manipulating spreadsheets, etc.; structured around real-life tasks |
| Depth of Theory | Delves deeper into the theory and principles of computer science and programming | Covers fundamental concepts but with primary focus on practical applications |
| Best For | Complete beginners to programming and those interested in understanding computer science principles | Those interested in quickly learning to use Python for practical tasks or those with some familiarity with programming |
By the way, I have no affiliation with either of these books. They’re just a great way to get into programming – for no money!

Leave a comment