I’m often asked to recommend a book to help students get started learning Python. There are many good ones, but depending on your style of learning, I have two specific recommendations.
Jake VanderPlas’ A Whirlwind Tour of Python provides a quick guided tour of essential things you should know in order to get started using Python, in less than 100 pages. The price is right too: it’s free.
![](https://mco.dev/img/pytour.gif)
For those who prefer a more comprehensive, tutorial style, I highly recommend Al Sweigart’s Automate the Boring Stuff with Python, 2nd Edition. This book is very practical and full of fun and interesting examples of real world problem solving with Python. It’s also available to read online for free.
![](https://automatetheboringstuff.com/images/automate_2e_cover.png)
Other Resources I Like
- CodingBat for Python - Coding Practice Exercises
- Practical Python Programming, by David Beazley
- Programming for the Puzzled: Learn to Program While Solving Puzzles, by Srini Devadas
- Data Science From Scratch, 2nd Edition: First Principles with Python, by Joel Grus
- Introduction to Computer Science Using Python: A Computational Problem-Solving Focus, by Charles Dierbach
- Effective Python: 90 Specific Ways to Write Better Python, 2nd Edition, by Bret Slatkin