I finished Patterns. I can read files, raise exceptions, write comprehensions. What's left to learn?
The third layer. Classes — when they earn their place and when they don't. Decorators — functions that wrap other functions. Generators — values produced lazily one at a time. Context managers — guaranteed cleanup. Tests — checks that fail loud when the code drifts. Modules — splitting a script across files without breaking the imports.
Are these the things I keep seeing in other people's code and skipping past?
Almost certainly. Most real Python code uses every one of them. Mastery doesn't add new things you can do with Python — Patterns gave you that. It teaches the shapes every Python codebase uses, so you can read them, contribute to them, and pick the right shape when you write your own.
Same drill — rate each row honestly?
Same drill. Most learners pick "strongly disagree" on most rows on day 1. The same six prompts return on day 30 — that's where you'll see the delta.
Mastery is the third Python track. It builds on Foundations and Patterns and turns you into someone who can read any Python codebase without flinching.
Week 1 — Classes, dataclasses, type hints. When a dict isn't enough. class and __init__. Methods. @dataclass for the boilerplate-free version. Type hints for intent. And explicit "when NOT to use a class."
Week 2 — Decorators, generators, context managers. Functions are values. @deco. @deco(arg). yield. Composing generators into pipelines. @contextmanager.
Week 3 — Tests, modules, idioms, synthesis. Why test. unittest. Parametrized tests. Splitting a script into a small package. EAFP vs LBYL. A small library that composes 6 prior primitives.
Week 4 — Advanced concepts and synthesis. @property, abstract base classes, Protocol typing, __slots__, generators vs lists for performance, and a final synthesis that touches every major concept.
__init__, methods, @dataclass, @property, type hints — and defend the choice of why a class earned its placefor x in ... loop should be a generator, and write the generatorwith block so cleanup is guaranteedunittest tests with shared fixtures and parametrized inputsProtocol to describe what an object must support without inheriting from a base classRate each statement on the 1-5 scale (1 = strongly disagree, 5 = strongly agree). Don't research. Don't guess what the right answer should be. The same prompts return on day 30 — that's how you measure the delta.
No passing score. Pick numbers, hit submit, week 1 begins.
I finished Patterns. I can read files, raise exceptions, write comprehensions. What's left to learn?
The third layer. Classes — when they earn their place and when they don't. Decorators — functions that wrap other functions. Generators — values produced lazily one at a time. Context managers — guaranteed cleanup. Tests — checks that fail loud when the code drifts. Modules — splitting a script across files without breaking the imports.
Are these the things I keep seeing in other people's code and skipping past?
Almost certainly. Most real Python code uses every one of them. Mastery doesn't add new things you can do with Python — Patterns gave you that. It teaches the shapes every Python codebase uses, so you can read them, contribute to them, and pick the right shape when you write your own.
Same drill — rate each row honestly?
Same drill. Most learners pick "strongly disagree" on most rows on day 1. The same six prompts return on day 30 — that's where you'll see the delta.
Mastery is the third Python track. It builds on Foundations and Patterns and turns you into someone who can read any Python codebase without flinching.
Week 1 — Classes, dataclasses, type hints. When a dict isn't enough. class and __init__. Methods. @dataclass for the boilerplate-free version. Type hints for intent. And explicit "when NOT to use a class."
Week 2 — Decorators, generators, context managers. Functions are values. @deco. @deco(arg). yield. Composing generators into pipelines. @contextmanager.
Week 3 — Tests, modules, idioms, synthesis. Why test. unittest. Parametrized tests. Splitting a script into a small package. EAFP vs LBYL. A small library that composes 6 prior primitives.
Week 4 — Advanced concepts and synthesis. @property, abstract base classes, Protocol typing, __slots__, generators vs lists for performance, and a final synthesis that touches every major concept.
__init__, methods, @dataclass, @property, type hints — and defend the choice of why a class earned its placefor x in ... loop should be a generator, and write the generatorwith block so cleanup is guaranteedunittest tests with shared fixtures and parametrized inputsProtocol to describe what an object must support without inheriting from a base classRate each statement on the 1-5 scale (1 = strongly disagree, 5 = strongly agree). Don't research. Don't guess what the right answer should be. The same prompts return on day 30 — that's how you measure the delta.
No passing score. Pick numbers, hit submit, week 1 begins.
Create a free account to get started. Paid plans unlock all tracks.