Free/open resources for learning Python

Allison Parrish

Posted: 2026-01-12

I teach several courses at NYU that make use of the Python programming language, e.g.:

Often students in these courses have minimal programming experience, and usually no experience with Python. I do my best to teach enough Python basics for students to get by, but I also recommend that they do some studying on their own time, using resources other than those included in the class. When you’re learning something new, after all, it’s always a good idea to get a second perspective on the concepts you’re learning, to help you better blaze a trail to understanding.

So I keep a list of (mostly) web-based resources for learning Python, with a focus on resources that are free and open source. Instead of copy-pasting this list into a bunch of different e-mails and syllabi, I made a web page (this one!) as a home for the list. I plan to update this list from time to time, as these resources become subject to link rot (or start promoting vibe coding), or as I become aware of other resources. Please let me know if you have any suggestions, or if something looks out of date or questionable.

And now, without further ado, here are some Python tutorials that I recommend! (If you find these resources useful, please support their authors by, e.g., buying a hard copy of their book, chipping in on their Patreon/Ko-Fi/whatever, or just sending a grateful e-mail!)

The official Python website has some great documentation! Unfortunately, most of it is targeted to experienced Python programmers, not beginners. Just the same, I think it’s a good idea to familiarize yourself with the official documentation, since it’s guaranteed to be canonical and up-to-date. Here are some parts of the official documentation that I recommend: