Python From Zero
Python is the language people reach for when they want to get something done without fighting the language first - data work, scripts, web backends, automation, glue between systems. It reads almost like English, which makes it inviting, and that same readability hides a few sharp edges nobody warns you about. This guide takes you the whole way: from "I've never run Python" to understanding what the language is actually doing underneath your code - explaining each piece rather than handing you spells to memorize.
It's one zero-to-hero journey in two halves. Phases 1–9 are the basics - enough to write real, well-organized programs. Phases 10–18 are the deep half - the data model, generators, decorators, typing, concurrency, performance, and packaging, the stuff that separates "writes Python" from "understands Python." Each phase carries a difficulty badge so you can see the climb.
If programming itself is brand new - not just Python - start with Programming From Zero first; it builds the "what is a program" mental model this guide assumes.
How to read this
- Brand new to Python? Read 1–9 in order, top to bottom - each builds on the last. Type the examples as you go (most are runnable right here); doing beats reading. Come back for 10+ when the basics feel comfortable.
- Already know another language? Skim 1–5 for Python's spelling of ideas you have, then start properly at Phase 6: Objects & Classes.
- Past the basics already? Jump straight to the deep half - Phase 10: The Data Model onward is where Python stops being "a readable scripting language" and starts being a language you can reason about to the metal.
The phases
Part 1 - The basics (🟢 Basic → 🟡 Intermediate)
- Install & Your First Program 🟢 - Python 3, the REPL, a real
hello.py. - Syntax, Values & Types 🟢 - indentation as structure, the core types, f-strings.
- Collections 🟢 - lists, tuples, dicts, sets, and the aliasing trap.
- Control Flow & Functions 🟢 -
if/loops/def, truthiness, the mutable-default trap. - Modules & Project Layout 🟢 -
import, the stdlib,__main__, a clean layout. - Objects & Classes 🟡 - what an object really is,
self, when to reach for a class. - Errors & I/O 🟡 - reading tracebacks,
try/except, files without corruption. - Ecosystem & Tooling 🟡 -
pip, virtual environments, formatters, linters. - Idioms & Gotchas 🟡 - the Pythonic way, and the sharp edges that bite everyone once.
Part 2 - Beyond the basics (🔴 Advanced)
10. The Data Model & Dunder Methods 🔴 - make your objects behave like built-ins.
11. Iterators & Generators 🟡 - yield, laziness, processing huge data without the RAM.
12. Decorators 🔴 - the @ magic in every framework, demystified.
13. Context Managers 🟡 - with, and never leaking a file/lock/connection again.
14. Type Hints & mypy 🟡 - gradual typing; catch the bug before runtime.
15. Dataclasses & Modern Modeling 🟡 - kill the boilerplate.
16. Concurrency & the GIL 🔴 - threads vs processes vs async, and what the GIL actually blocks.
17. Performance & Memory 🔴 - how CPython runs, the GC, and the real speedups.
18. Packaging & Environments 🟡 - ship a package, not a folder of scripts.
Finale 19. Where to Go Next 🟢 - web, data, automation, and what to build.
Frameworks (FastAPI, Django) are their own guides - they're different tools, not "more Python." This guide makes the language make sense, top to bottom.