A free course, written in public
Python for Humans
Learn to code by hand, at human pace, with real Python running right in the page.
Free to read. 9 of 21 chapters posted so far.
Try it now. Click below, type your name in quotes, and press Enter:name = 'Ada'
Contents
Chapters go up here as they're written. Each post is a draft, with its version and date on the page.
Part I
Thinking in code
Python runs in the page, so there's nothing to install. Small programs that talk, decide and repeat; then small collections and the complete works of Shakespeare, where dictionaries and functions earn their keep. Finish by generating new Shakespeare with your own code.
Part II
From the REPL to programs
Turn your text experiments into reliable programs you can save, run on your own files, and share. Learn debugging, testing, files, modules, packages, web requests and classes, with an optional branch into serving a web page.
- 9 Keeping Your Work
- 10 Errors and debugging
- 11 Testing
- 12 Files and the filesystem
- 13 Modules and several files
- 14 Packages and uv
- 15 The web in one chapter
- 16 Classes
- 17 The other side of the web (optional)
Part III
Capstones
Choose a project of your own, or find and fix the bugs in code someone else wrote. Extend the generator, analyze your own data, or build a tool you can share.
- 18 Capstone menu
Part IV
Coding with AI, as a human
Work with an AI as the person in charge, and where to go next.
- 19 Working with an AI, as a human
- 20 Where next
Who am I?
Hi, I'm Will Vincent. I'm a Python Software Foundation Fellow, a former board member of the Django Software Foundation, author of Django for Beginners, and co-host of the Django Chat podcast.
I've taught Python and web development to thousands of developers through my books, tutorials and courses. I believe in learning the fundamentals properly: understanding how code works, not just copying what an AI suggests.