← All Courses
Learn Python logo

Learn Python

Active

Zero to production in 274 projects

274
Projects
13
Levels
12
Modules
34
Concept Guides
Python Open Source Free pytest

Course Overview

A complete, hands-on Python curriculum that takes you from zero programming experience to production-grade engineering. Every concept is taught through building real projects — no passive lectures, no toy examples.

What You’ll Build

  • 274 hands-on projects across 13 progressive levels
  • 12 technology modules covering web frameworks, databases, APIs, testing, and more
  • 10 elite-track capstones for staff-engineer-level challenges
  • 34 concept guides with visual diagrams and real-world examples

Curriculum Highlights

Foundations (Levels 0–3): Variables, control flow, functions, data structures, OOP basics. You write code from day one.

Intermediate (Levels 4–6): File I/O, error handling, modules, decorators, generators, context managers. Projects get more complex and realistic.

Advanced (Levels 7–9): Concurrency, networking, databases, web frameworks (Flask, FastAPI), testing with pytest. You build real applications.

Expert (Level 10 + Elite Track): System design, distributed systems, performance optimization, security. Staff-engineer-level challenges.

Expansion Modules: Deep dives into Django, data science, machine learning, DevOps, and more.

How It Works

Each project includes:

  • A clear problem statement and requirements
  • Starter code with TODO markers
  • A comprehensive test suite (run pytest to check your work)
  • An annotated solution walkthrough

You learn by doing. Tests verify your implementation is correct, and solutions explain the reasoning behind each approach.

Prerequisites

  • A computer with Python 3.11+ installed
  • A text editor or IDE
  • Curiosity and willingness to build things

No prior programming experience required. Level 00 starts from absolute zero.


Start Here — Learning Roadmap

A suggested path from zero to mastery. Follow these steps in order:

  1. Install Python & Set Up Your Editor — Get Python 3.12+ from python.org, install VS Code with the Python extension, and run your first script
  2. Learn Core Syntax — Variables, data types, strings, numbers, booleans, conditionals, and loops using the official Python Tutorial or python.org docs
  3. Master Functions & Data Structures — Write reusable functions, work with lists, dictionaries, tuples, and sets until they feel natural
  4. Understand Object-Oriented Programming — Classes, inheritance, encapsulation, and Python’s data model (dunder methods, descriptors)
  5. Handle Files, Errors & Modules — Read/write files, use try/except properly, organize code into packages and modules
  6. Learn Testing with pytest — Write unit tests, fixtures, parameterized tests, and build the habit of test-driven development
  7. Explore the Standard Library — pathlib, itertools, collections, functools, logging, argparse — Python’s batteries-included toolkit
  8. Build Web Applications — Start with Flask for simplicity, then FastAPI for modern async APIs, then Django for full-stack applications
  9. Go Deeper — Generators, decorators, context managers, concurrency (asyncio, threading, multiprocessing), and type hints
  10. Ship Real Projects — Deploy applications, contribute to open source, package and publish your own libraries on PyPI

Official & Core Documentation

GitHub Awesome Lists & Curated Collections

  • awesome-python — The definitive curated list of Python frameworks, libraries, and tools organized by category
  • awesome-python-typing — Collection of Python type-checking tools, stubs, and plugins
  • awesome-fastapi — Curated list of FastAPI resources, third-party packages, and project templates
  • awesome-django — Curated list of Django resources, packages, and projects
  • awesome-flask — Curated list of Flask resources, extensions, and tutorials
  • awesome-pytest — Collection of pytest plugins, fixtures, and testing utilities
  • awesome-python-data-science — Python libraries and tools for data science, ML, and scientific computing
  • best-of-python — Ranked list of 300+ Python open-source projects with activity metrics

Interactive Courses & Hands-On Platforms

Free Courses

University & MOOC Courses

Practice & Challenges

  • Exercism Python Track — Mentored coding exercises with community feedback and learning-focused progression (Beginner)
  • Codewars — Thousands of Python kata ranked by difficulty from fundamentals to expert (All levels)
  • LeetCode — Algorithm and data structure challenges, essential for interview prep (Intermediate)
  • Project Euler — Mathematical programming challenges that build algorithmic thinking (Intermediate)
  • Advent of Code — Annual December coding challenge with 25 days of increasingly difficult puzzles (All levels)
  • Python Challenge — Puzzle-based challenge where each level requires Python to solve (Intermediate)

Video Courses & YouTube Channels

Structured Course Playlists

Individual Creators & Channels

  • Corey Schafer — Gold standard Python tutorials covering fundamentals, OOP, Flask, Django, and developer tools (All levels)
  • ArjanCodes — Software design, architecture patterns, and clean code in Python (Intermediate)
  • Tech With Tim — Practical Python projects, game development, and machine learning tutorials (Beginner)
  • mCoding — Deep dives into Python internals, CPython, and performance optimization (Advanced)
  • Fireship — Fast-paced concept explainers including “Python in 100 Seconds” and framework overviews (All levels)
  • anthonywritescode — Python internals, tooling, and pragmatic coding advice from a CPython core contributor (Advanced)

Books & Long-Form Reading

Free Online Books

Essential Paid Books

  • Fluent Python — Luciano Ramalho’s deep exploration of Python’s data model and advanced features, the definitive intermediate-to-advanced book (Advanced, Paid)
  • Effective Python — Brett Slatkin’s 90 specific ways to write better Python (Intermediate, Paid)
  • Python Cookbook — David Beazley & Brian Jones’ recipe-based guide to advanced Python techniques (Advanced, Paid)
  • Robust Python — Patrick Viafore on type annotations, protocols, and writing maintainable Python (Intermediate, Paid)
  • Test-Driven Development with Python — Harry Percival’s guide to TDD with Django, free online (Intermediate)

Community, Practice & News

Forums & Discussion

  • r/learnpython — Beginner-friendly subreddit for Python learners with active, helpful community
  • r/Python — Main Python subreddit for news, projects, and discussion
  • Python Discord — Large, active Discord server with help channels, events, and code review
  • Stack Overflow — Python — The largest Q&A archive for Python problems and solutions

Newsletters & Blogs

  • Python Weekly — Weekly newsletter with the latest Python articles, news, and packages
  • PyCoder’s Weekly — Curated weekly newsletter covering Python tutorials, tools, and community news
  • Real Python Newsletter — Weekly roundup of Real Python’s latest tutorials and guides
  • Python Bytes Podcast — Weekly podcast covering the latest Python headlines in short, digestible episodes
  • Talk Python to Me — Long-form interview podcast with Python creators, contributors, and practitioners

Package Registry

  • PyPI — Python Package Index — The official repository of 500,000+ Python packages
  • Conda-Forge — Community-led collection of conda packages, essential for data science
  • Snyk Advisor — Check health and security scores for Python packages before installing

Tools & Environments

  • VS Code + Python Extension — The most popular Python editor with IntelliSense, debugging, and integrated terminal
  • PyCharm Community Edition — Full-featured free Python IDE from JetBrains with smart code completion and refactoring
  • Jupyter Notebook — Interactive notebook environment for data exploration, visualization, and literate programming
  • uv — Extremely fast Python package installer and resolver, modern replacement for pip + virtualenv
  • Ruff — Extremely fast Python linter and formatter written in Rust, replaces flake8 + isort + black
  • mypy — Static type checker for Python, catches type errors before runtime
  • pytest — The standard Python testing framework with powerful fixtures and plugin ecosystem
  • IPython — Enhanced interactive Python shell with tab completion, magic commands, and rich display
  • Poetry — Dependency management and packaging tool with lockfiles and virtual environments
  • pyenv — Simple Python version management for installing and switching between Python versions
  • Rye — All-in-one Python project manager from the Astral team (makers of uv and Ruff)