Skip to content

Learning path

Pick one thing from your level and finish it. Collecting resources is a procrastination technique with excellent branding.

Complete beginner

You've never written code, or you've written a little and it didn't stick.

Resource Format Why this one
Automate the Boring Stuff Book, free online Every chapter ends with something useful. Best hit rate for people who bounce off theory
CS50P Video course, free Harvard's Python course. Structured, graded, genuinely well taught
The official tutorial Docs Dry but correct, and it teaches you to read the docs, which is the real skill
W3Schools Python Lessons, free Byte-sized pages with a runnable example on each. Good when you want one topic, not a course
SoloLearn App and web, free tier Short lessons that fit a commute. Won't get you all the way, gets you started
Twilio Quest Game, free You learn Python by playing it. Genuinely fun, and unusual enough to keep people going

Type the examples out

Don't copy-paste them. The typos you make while typing are the lesson.

If you'd rather see the whole route before you start, roadmap.sh/python lays the topics out as a map. Read it once for orientation, then close it — the map isn't the walk.

An hour of video first

Not a substitute for a course, but a decent way to find out whether the syntax scares you.

Getting comfortable

You can write a script. You're unsure whether you're writing it well.

Resource Format Why this one
Python Crash Course Book Second half is three real projects, which is where most beginner books stop
Real Python Articles, tutorials Reliable depth on specific topics. Search it before asking
Exercism's Python track Exercises with mentoring Human feedback on your solutions, free
GeeksforGeeks Python Articles, examples Wide coverage with a worked example for nearly everything. Check the Python version on older articles

Paid courses, without paying

Courson collects 100%-off vouchers for Udemy courses. The vouchers expire quickly and the quality varies as much as Udemy does, so check the reviews before you spend an evening on one.

Building things

You can build something that works. You want it to be good.

Resource Format Why this one
Fluent Python Book Explains why Python is shaped the way it is. Best read once you've been bitten
Architecture Patterns with Python Book, free online Structure for applications that outgrew a single file

Practice between sessions

Short problems keep the syntax in your fingers on the days you don't have an evening to spend. They're a supplement to building things, not a replacement — nobody ever shipped anything by grinding exercises.

Site Shape Notes
PracticePython 30-odd exercises with solutions Start here if you've just finished a beginner course
Python Principles Small challenges in the browser No setup, instant feedback
HackerRank's Python domain Graded problems by topic Also what a lot of interview screens look like
Codecademy's advanced challenges Article with worked problems For when the easy ones stopped teaching you anything
Advent of Code December puzzle calendar Good for algorithms. Bad for learning to write maintainable code — that's not what it's for

Read someone else's answer afterwards

Solve it yourself first, then look. The gap between your version and a good one is the part worth studying.

Reference

Worth bookmarking rather than reading start to finish. There's more of this on the cheat sheets and tools page.

  • The standard library index — read this before installing a dependency. The answer is often already installed.
  • PEP 8 — the style guide. Most of it is handled by a formatter now.
  • PEP 20 — the Zen of Python. Quoted more often than it's followed.

What we don't recommend

Tutorials older than about five years, unless they're teaching something that hasn't changed. Python 2 material, obviously. Anything promising fluency in a weekend.

Video playlists that never build anything are also a trap — you'll feel productive and retain very little. If a course has no exercises, add your own.

Stuck choosing?

Ask in the help channels and say what you've already tried. Someone will have an opinion, and probably a better one than this page.