Concepts — Quick Reference¶
Plain-language explanations of Python concepts. Use these when you need to understand something a project introduces.
Core Concepts (start here)¶
- What is a Variable?
- How Loops Work
- Functions Explained
- Collections: Lists, Dicts, Sets
- Files and Paths
- Errors and Debugging
- Reading Error Messages — traceback anatomy, 10 most common errors
- Types and Conversions
Intermediate Concepts (after Level 2)¶
- How Imports Work — modules, packages,
__init__.py - Classes and Objects — OOP basics,
self, inheritance - Decorators Explained —
@syntax, wrapping functions - Virtual Environments — venv, pip, requirements.txt
- The Terminal — Going Deeper — pipes, redirects, env vars
Intermediate+ Concepts (after Level 2)¶
- Comprehensions Explained — list/dict/set comprehensions, generator expressions, walrus operator
- args and *kwargs Explained —
*args,**kwargs, unpacking, positional-only, keyword-only - Generators and Iterators —
yield, lazy evaluation, generator pipelines - Context Managers Explained —
withstatement,__enter__/__exit__,contextlib - Enums Explained —
Enum,IntEnum,StrEnum,auto(), pattern matching - Collections Deep Dive —
Counter,defaultdict,namedtuple,deque,ChainMap - functools and itertools —
partial,lru_cache,reduce,chain,groupby,product - Regex Explained —
remodule, patterns, groups,matchvssearchvsfindall
Advanced Concepts (after Level 3)¶
- HTTP Explained — requests, responses, status codes, headers
- API Basics — REST, JSON, endpoints, authentication
- Async Explained — async/await, event loops, concurrency
Testing & Debugging¶
- Testing Strategies — test pyramid, TDD, mocking, fixtures,
pytest-cov - Debugging Methodology — Reproduce→Isolate→Hypothesize→Test→Fix→Verify→Prevent,
breakpoint(),pdb
Developer Skills¶
- Reading Documentation — navigating docs.python.org, reading function signatures
- Git Basics — init, add, commit, branch, merge, remote, push, pull,
.gitignore - Security Basics — OWASP Top 10, SQL injection, XSS, secrets management,
pip audit
Modern Python (Level 1+)¶
- Type Hints Explained — annotations, Optional, Union, Protocol
- Dataclasses Explained — @dataclass, fields, frozen, the easy way to create classes
- Match/Case Explained — structural pattern matching (Python 3.10+)
- Modern Python Tooling — uv, ruff, pyproject.toml, Python 3.11–3.14 highlights
How to use these¶
- Read the concept page before or during a project
- Each page has: explanation, code example, common mistakes
- Come back to these whenever you forget how something works
Practice Tools¶
| Tool | Description | How to use |
|---|---|---|
| Concept Quizzes | Interactive terminal quizzes for each concept | python concepts/quizzes/<name>-quiz.py |
| Flashcard Decks | Spaced repetition cards organized by level | python practice/flashcards/review-runner.py |
| Coding Challenges | Short focused exercises (beginner + intermediate) | See practice/challenges/README.md |
| Diagnostic Assessments | Test your readiness before starting a level | python tools/diagnose.py |
Available Quizzes¶
Each concept doc has a matching quiz in concepts/quizzes/:
- Api Basics
- Async Explained
- Classes And Objects
- Collections Explained
- Dataclasses Explained
- Decorators Explained
- Errors And Debugging
- Files And Paths
- Functions Explained
- How Imports Work
- How Loops Work
- Http Explained
- Match Case Explained
- Reading Error Messages
- The Terminal Deeper
- Type Hints Explained
- Types And Conversions
- Virtual Environments
- What Is A Variable