beginner
Python Data Types
Core built-in types: numbers, strings, booleans, and type checking
Python Dictionaries
Key-value mappings for fast lookups, updates, and nested data
Python File I/O
Read and write text and binary files with open, paths, and JSON
Python Functions
Define reusable blocks of code with parameters, returns, and defaults
Python List Comprehension
Concise syntax for building lists from iterables with optional filtering
Python Loops
Iterate with for and while loops, break, continue, and enumerate
Python Modules
Organize code across files and import functions, classes, and packages
Python Sets
Unordered collections of unique elements for membership and set math
Python Tuples
Immutable ordered sequences for fixed collections and unpacking
Python Variables
How to declare, assign, and name variables in Python
intermediate
Python Async and Await
Write concurrent I/O-bound code with coroutines, the event loop, and asyncio
Python Classes
Define objects with attributes, methods, inheritance, and dunder methods
Python Context Managers
Guarantee setup and teardown with the with statement and contextlib
Python Dataclasses
Generate boilerplate-free classes for structured data with the dataclass decorator
Python Decorators
Wrap functions to add logging, caching, auth, and cross-cutting behavior
Python Exceptions
Handle errors with try/except, raise custom exceptions, and finally blocks
Python Generators
Lazy iterators with yield for memory-efficient data processing
Python Type Hints
Annotate code with static types for tooling, clarity, and safer refactors
Testing with pytest
Write expressive tests using plain asserts, fixtures, and parametrization
advanced
Python Concurrency
Choose between threads, processes, and async for CPU- and I/O-bound work
Python Metaclasses
Control class creation itself using type, __new__, and metaclass hooks
Python Packaging
Structure, build, and publish distributable packages with pyproject.toml
The Iterator Protocol
Make objects iterable by implementing __iter__ and __next__