Python
Curriculum
Python programming

Python Tutorial

A complete Python path from absolute beginner to advanced - clear explanations, practical examples, and projects you can actually build.

65 lessonsBeginner → ProProgramming
Start from the beginning

Curriculum

Work through each section in order. Every lesson ends with practice and key points so the idea sticks.

Beginner

Getting Started

5 lessons · ~45 min
  1. 1
    What is Python?

    Learn what Python is, where it is used, and why it is a friendly first programming language.

  2. 2
    Install Python & Your Editor

    Install Python 3, check that it works, and choose a beginner-friendly code editor.

  3. 3
    Your First Python Program

    Write, save, and run a small Python program that prints messages and uses variables.

  4. 4
    Syntax, Indentation & Style

    Understand Python syntax rules, why indentation matters, and how clean style makes code easier to read.

  5. 5
    Comments

    Use comments to explain why code exists without changing how the program runs.

Beginner

Foundations

3 lessons · ~32 min
  1. 6
    Variables

    Learn how variables store values, why names matter, and how reassignment works.

  2. 7
    Data Types

    Meet the common Python data types: strings, integers, floats, booleans, and None.

  3. 8
    Type Conversion

    Convert values between strings, numbers, and booleans when your program needs a different type.

Beginner

Working with Data

5 lessons · ~50 min
  1. 9
    Numbers

    Work with integers, floats, arithmetic, rounding, and number-friendly shortcuts.

  2. 10
    Strings

    Store and work with text using strings, indexing, slicing, and simple formatting.

  3. 11
    String Methods

    Use common string methods to clean, search, and transform text.

  4. 12
    Booleans & Comparisons

    Use True and False values to ask questions and make decisions in Python.

  5. 13
    Operators

    Learn the operators Python uses for math, comparison, assignment, and logic.

Beginner

Collections

4 lessons · ~43 min
  1. 14
    Lists

    Store ordered collections with lists, then read, update, add, and remove items.

  2. 15
    Tuples

    Use tuples for ordered values that should stay together and not be changed.

  3. 16
    Sets

    Use sets to store unique values and compare groups of items.

  4. 17
    Dictionaries

    Store labeled data with dictionaries using keys and values.

Beginner

Control Flow

3 lessons · ~34 min
  1. 18
    if, elif & else

    Make decisions in Python with if statements, elif branches, and else fallbacks.

  2. 19
    for & while Loops

    Repeat work with for loops and while loops without copying the same code many times.

  3. 20
    break, continue & else on Loops

    Control loop behavior with break, continue, and loop else blocks.

Beginner

Functions

4 lessons · ~50 min
  1. 21
    Functions

    Group reusable steps into functions so your programs are easier to read and maintain.

  2. 22
    Parameters, Defaults & Return Values

    Pass information into functions, set defaults, and return useful results.

  3. 23
    Scope & LEGB

    Understand where Python looks for variable names and why scope keeps programs organized.

  4. 24
    Modules & import

    Use modules to organize code and import helpful tools from Python files and the standard library.

Beginner

Everyday Python

1 lessons · ~12 min
  1. 25
    input(), print() & f-strings

    Interact with users by reading input, printing output, and formatting messages with f-strings.

Intermediate

Pythonic Tools

4 lessons · ~45 min
  1. 26
    List Comprehensions

    Create new lists from existing data with clear, compact Python expressions.

  2. 27
    Dict & Set Comprehensions

    Build dictionaries and sets from existing data without repetitive loop boilerplate.

  3. 28
    Lambda Functions

    Use small anonymous functions in places where Python expects a callable.

  4. 29
    map, filter & sorted

    Transform, filter, and order data with Python built-ins and readable callbacks.

Intermediate

Files & Data

4 lessons · ~48 min
  1. 30
    Reading & Writing Files

    Read text files, write reports, and use context managers to close files safely.

  2. 31
    Paths with pathlib

    Use pathlib to create, combine, inspect, and read filesystem paths cleanly.

  3. 32
    Working with JSON

    Read, write, and validate JSON data with Python dictionaries and lists.

  4. 33
    CSV Files

    Read and write spreadsheet-friendly CSV files with Python’s csv module.

Intermediate

Errors & Robustness

2 lessons · ~23 min
  1. 34
    Exceptions & try/except

    Handle predictable errors without crashing your Python scripts.

  2. 35
    Raising & Custom Exceptions

    Signal invalid situations clearly by raising exceptions and defining custom error types.

Intermediate

Object-Oriented Python

4 lessons · ~50 min
  1. 36
    Classes & Objects

    Define classes that group data and behavior into reusable Python objects.

  2. 37
    Instance Methods, Attributes & self

    Understand how object attributes and instance methods work together through self.

  3. 38
    Inheritance & super()

    Reuse and extend class behavior with inheritance and super().

  4. 39
    Dunder / Magic Methods

    Make objects work naturally with print(), len(), comparisons, and other Python behavior.

Intermediate

Tooling

2 lessons · ~25 min
  1. 40
    Packages & Project Layout

    Organize Python code into modules and packages that are easier to run, import, and test.

  2. 41
    Virtual Environments & pip

    Create isolated Python environments and install third-party packages safely.

Intermediate

Standard Library Power

2 lessons · ~27 min
  1. 42
    Dates & Time

    Work with dates, times, timedeltas, formatting, and timezone-aware values.

  2. 43
    Regular Expressions

    Find, validate, and extract text patterns with Python’s re module.

Intermediate

Modern Python

2 lessons · ~25 min
  1. 44
    Type Hints

    Add readable type hints that help editors, teammates, and static checkers understand your code.

  2. 45
    Dataclasses

    Use dataclasses to create clean data-focused classes with less boilerplate.

Intermediate

Talking to the Web

1 lessons · ~14 min
  1. 46
    HTTP Requests & APIs

    Call web APIs from Python, inspect responses, and handle common request problems.

Intermediate

Quality

2 lessons · ~27 min
  1. 47
    Testing Basics with pytest

    Write beginner-friendly but useful tests for Python functions with pytest.

  2. 48
    Debugging & Logging

    Find problems with tracebacks, breakpoints, and practical logging.

Advanced

Deep Python

3 lessons · ~48 min
  1. 49
    Iterators & Generators

    Understand Python iteration deeply: iterable objects, iterator state, generator functions, yield, lazy pipelines, and generator expressions.

  2. 50
    Decorators

    Learn how decorators wrap functions, preserve metadata, accept arguments, and cleanly add cross-cutting behavior.

  3. 51
    Context Managers

    Use with statements, __enter__, __exit__, contextlib, and ExitStack to manage resources safely and clearly.

Advanced

Concurrency

2 lessons · ~36 min
  1. 52
    Async IO Basics

    Learn async, await, tasks, gather, timeouts, and the difference between concurrent I/O and faster CPU work.

  2. 53
    Threads, Processes & When to Use What

    Compare synchronous code, threading, multiprocessing, async IO, queues, and practical decision rules for Python concurrency.

Advanced

Pro Architecture

5 lessons · ~84 min
  1. 54
    Practical OOP Patterns

    Use dataclasses, composition, protocols, dependency injection, factories, and repositories without over-engineering.

  2. 55
    Structuring Larger Python Projects

    Organize Python applications with packages, src layout, tests, configuration, entry points, and clear boundaries.

  3. 56
    Packaging & Distributing Python Code

    Package Python code with pyproject.toml, build wheels, expose console scripts, and understand versioning and distribution basics.

  4. 57
    Performance Mindset & Profiling

    Approach Python performance scientifically with measurement, profiling, better algorithms, caching, streaming, and focused optimization.

  5. 58
    Security Basics for Python Apps

    Protect Python applications with safe input handling, secret management, dependency hygiene, authentication basics, and secure defaults.

Advanced

Capstone Projects

4 lessons · ~79 min
  1. 59
    Mini Project: CLI Task Manager

    Build a small command-line task manager with argparse, JSON storage, a clean file structure, and practical commands.

  2. 60
    Mini Project: Small REST API (FastAPI-style)

    Build a small FastAPI-style REST API with models, routes, validation, in-memory storage, and a professional project shape.

  3. 61
    Mini Project: Data Cleaning Script

    Build a data cleaning script that reads CSV files, validates rows, normalizes values, writes clean output, and reports rejected records.

  4. 62
    Mini Project: Web Scraper (Responsible)

    Build a respectful web scraper that checks rules, rate limits requests, parses HTML, saves JSON, and avoids harmful scraping behavior.

Advanced

Polish & Next Steps

3 lessons · ~42 min
  1. 63
    Common Python Mistakes (and Fixes)

    Review frequent Python bugs and design problems: mutable defaults, broad exceptions, shadowing, late binding, imports, and hidden state.

  2. 64
    The Python Ecosystem (Web, Data, Automation)

    Map the Python ecosystem across web development, data science, automation, testing, packaging, tooling, and deployment.

  3. 65
    What to Learn After This Path

    Plan your next Python learning path with specialization tracks, portfolio projects, testing habits, reading practice, and professional growth.