Home / Python Advanced
Python Advanced
The deep end of Python: decorators and descriptors, generators, async/await, concurrency, metaclasses, performance work and the internals that make Python tick.
Course contents
Work top to bottom — the sidebar is the course. Topics later in the list assume the ones before them.
Dunder Methods
Start: Python __str__ and __repr__ ❯Dataclasses
Start: Python Dataclasses ❯Properties & Class Methods
Start: Python Properties ❯Inheritance in Depth
Start: Python Abstract Base Classes ❯Python Descriptors (Survey)
Advanced · ⏱ 10 min · standalone lesson
Python Enums
Intermediate · ⏱ 9 min · standalone lesson
Decorators
Start: Python Closures ❯Decorator Patterns
Start: Python Decorator Patterns ❯Iterator Protocol
Start: Python The Iterator Protocol ❯Generators
Start: Python Generators ❯Python Comprehensions in Depth
Advanced · ⏱ 9 min · standalone lesson
Context Managers
- Python With Statement in Depth
- Python Custom Context Managers
- Python The contextlib Module
- Python ExitStack & Friends
Exception Craft
- Python Custom Exceptions
- Python Exception Chaining
- Python Exception Groups
- Python Error Handling Patterns
Warnings & Tracebacks
Start: Python The warnings Module ❯Type Hints
Start: Python Type Hints ❯Typed Structures & Generics
Start: Python TypedDict ❯functools & itertools
- Python The functools Module
- Python itertools: Infinite & Combining
- Python itertools: Combinatoric & Grouping
Collections
Start: Python Counter & defaultdict ❯Python Functional Patterns
Intermediate · ⏱ 9 min · standalone lesson
Python Recursion in Depth
Advanced · ⏱ 10 min · standalone lesson
Threading
Start: Python Threads ❯Processes, GIL & Queues
Start: Python Multiprocessing ❯Asyncio
Start: Python Asyncio Basics ❯Python Choosing a Concurrency Tool
Intermediate · ⏱ 8 min · standalone lesson
unittest & Doctest
Start: Python unittest Basics ❯Testing in Depth
Start: Python Testing Exceptions & Edge Cases ❯Logging
Start: Python Logging Basics ❯Pathlib
Start: Python Pathlib Basics ❯Environments & pip
Start: Python Virtual Environments in Depth ❯Packaging a Project
Start: Python Project Structure ❯Imports & __main__
Start: Python How Imports Work ❯JSON
Start: Python The json Module ❯Python The csv Module
Intermediate · ⏱ 9 min · standalone lesson
SQLite
Start: Python SQLite Databases ❯Python Config Files
Intermediate · ⏱ 9 min · standalone lesson
Regular Expressions
Start: Python Regular Expressions ❯Dates & Times in Depth
Start: Python datetime in Depth ❯Operators in Depth
Start: Python Bitwise Operators ❯Memory & Bytes
Start: Python Names, Objects & References ❯Python Copying in Depth
Advanced · ⏱ 8 min · standalone lesson
Performance
Start: Python Performance & Profiling ❯Python Structural Pattern Matching
Advanced · ⏱ 11 min · standalone lesson
Python Project: A CLI Tool With argparse
Intermediate · ⏱ 14 min · standalone lesson
Python Project: CSV → SQLite → JSON Pipeline
Intermediate · ⏱ 15 min · standalone lesson
Python Project: Concurrent Fetcher
Advanced · ⏱ 15 min · standalone lesson
Python Project: File Organiser
Intermediate · ⏱ 14 min · standalone lesson
Python Project: A Tested Little Library
Advanced · ⏱ 15 min · standalone lesson