Updated Jun 19, 2026

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)

  1. Install & Your First Program 🟢 - Python 3, the REPL, a real hello.py.
  2. Syntax, Values & Types 🟢 - indentation as structure, the core types, f-strings.
  3. Collections 🟢 - lists, tuples, dicts, sets, and the aliasing trap.
  4. Control Flow & Functions 🟢 - if/loops/def, truthiness, the mutable-default trap.
  5. Modules & Project Layout 🟢 - import, the stdlib, __main__, a clean layout.
  6. Objects & Classes 🟡 - what an object really is, self, when to reach for a class.
  7. Errors & I/O 🟡 - reading tracebacks, try/except, files without corruption.
  8. Ecosystem & Tooling 🟡 - pip, virtual environments, formatters, linters.
  9. 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.