🐍

    Python Programming

    Master Python from scratch with our comprehensive, interactive curriculum — 52 lessons from Beginner to Advanced.

    Sign in to track your progress through this course

    👋 New to Python? No experience needed.

    Start with Lesson 1 and build real skills step by step — at your own pace.

    Start Your First Lesson
    1

    Beginner Track

    ✦ Start Here ~2–3 hours

    Write your first Python programs and understand the core building blocks of the language.

    Introduction to Python

    Install Python, run your first script, and understand how Python works

    Start

    Variables and Data Types

    Learn how to store text, numbers, and booleans in your programs

    Start

    Operators and Expressions

    Arithmetic, comparison, and logical operators explained with examples

    Start

    Control Flow - If/Else

    Make decisions in code with if, elif, and else statements

    Start

    Loops - For and While

    Repeat actions automatically with for loops and while loops

    Start
    2

    Intermediate Track

    ~3–4 hours

    Work with real data, build functions, and handle errors like a professional Python developer.

    Functions

    Write reusable blocks of code and pass data in and out with parameters

    Start

    Lists and Collections

    Store and manipulate ordered sequences of data with Python lists

    Start

    Dictionaries

    Work with key-value pairs to structure and look up real-world data

    Start

    File Handling

    Read from and write to files — txt, csv, and more

    Start

    Exception Handling

    Handle errors gracefully so your programs don't crash unexpectedly

    Start

    Modules and Packages

    Organise code into reusable files and import the Python standard library

    Start
    3

    Expert Track

    ~2–3 hours

    Apply object-oriented design, write elegant code with decorators, and think like a senior developer.

    Object-Oriented Programming

    Model real-world concepts using classes, objects, and methods

    Start

    Inheritance and Polymorphism

    Build class hierarchies and reuse code through inheritance

    Start

    Decorators & Advanced Features

    Wrap functions to add behaviour without modifying their code

    Start
    4

    Advanced Track

    ~10–15 hours

    Deep-dive topics for engineers who want to master Python internals, performance, architecture, and professional tooling.

    Advanced Functions & Parameters Masterclass

    args, kwargs, keyword-only args, and function signatures in depth

    Start

    Higher-Order Functions & Function Factories

    Pass and return functions, build factories and pipelines

    Start

    Closures & Lexical Scope in Real Projects

    Understand variable capture and build stateful function patterns

    Start

    Context Managers & the with Statement in Depth

    Write custom context managers for resource and lifecycle control

    Start

    Generators & Iterators Mastery

    Produce values lazily for memory-efficient data pipelines

    Start

    Advanced Async & Await Patterns

    Write clean asynchronous code with async/await and coroutines

    Start

    AsyncIO: Event Loop, Tasks & Futures

    Deep dive into the AsyncIO event loop, tasks, and concurrent I/O

    Start

    Concurrency in Python: Threads vs Processes

    Understand the GIL and choose between threading and multiprocessing

    Start

    Parallelism with concurrent.futures

    Run CPU-bound tasks in parallel with ProcessPoolExecutor

    Start

    Profiling & Optimising Python Performance

    Find bottlenecks with cProfile, timeit, and memory profilers

    Start

    Memory Management & Garbage Collection Internals

    How Python allocates, tracks, and frees memory under the hood

    Start

    Type Hints & Static Typing with mypy

    Add type annotations and catch bugs before runtime with mypy

    Start

    Data Classes & Advanced Class Patterns

    Reduce boilerplate with @dataclass and slots

    Start

    Magic Methods & the Python Data Model

    Implement __repr__, __len__, __eq__, and more to integrate with Python

    Start

    Operator Overloading & Custom Behaviours

    Make your objects work with +, -, *, and comparison operators

    Start

    Mixins, Multiple Inheritance & OOP Patterns

    Compose behaviour with mixins and navigate multiple inheritance safely

    Start

    Design Patterns in Python (Singleton, Factory, Strategy)

    Apply classic GoF patterns idiomatically in Python

    Start

    Module & Package Architecture for Large Codebases

    Structure growing projects with namespaces, imports, and __init__.py

    Start

    Logging, Debugging & Error Handling at Scale

    Add structured logging, use pdb, and handle errors in production

    Start

    Testing with pytest: Fixtures, Parametrisation & Mocks

    Write reliable tests with pytest fixtures, parametrize, and unittest.mock

    Start

    Building Command-Line Tools with argparse & Typer

    Build polished CLI tools with argument parsing and subcommands

    Start

    Virtual Environments & Dependency Management Best Practices

    Isolate projects with venv and manage packages with pip and Poetry

    Start

    Packaging & Publishing Python Libraries to PyPI

    Package your code and publish it so others can pip install it

    Start

    Working with Files, Streams & Large Datasets

    Handle large files with streaming, chunking, and pathlib

    Start

    Advanced Collections, itertools & functools

    Use Counter, defaultdict, chain, groupby, partial and more

    Start

    Functional Programming Techniques in Python

    Write pure, composable code with map, filter, reduce, and comprehensions

    Start

    Metaprogramming & Introspection with inspect

    Dynamically inspect, modify, and create classes and functions at runtime

    Start

    Building and Reusing Custom Decorator Libraries

    Create your own decorator toolkit with functools.wraps and class decorators

    Start

    Using SQLite & ORMs (SQLAlchemy) in Python

    Query databases with raw SQLite and the SQLAlchemy ORM

    Start

    REST API Clients & External Service Integrations

    Call REST APIs with requests, handle auth, and parse JSON responses

    Start

    Automation & Scripting for DevOps and System Tasks

    Automate file operations, shell commands, and scheduled tasks

    Start

    Integrating Python with Other Languages (C, Rust & more)

    Call C extensions with ctypes and Cython, and interface with Rust

    Start

    Architecture Patterns for Python Apps (MVC, Clean Architecture)

    Structure large Python applications with proven architectural patterns

    Start

    Final Project Ideas

    Guided project ideas to put everything you've learned into practice

    Start

    Cookie & Privacy Settings

    We use cookies to improve your experience, analyze traffic, and show personalized ads. You can manage your preferences below.

    By clicking "Accept All", you consent to our use of cookies for analytics and personalized advertising. You can customize your preferences or reject non-essential cookies.

    Privacy PolicyTerms of Service