Skip to content
← Back to explainers

Python explainer

How the Placement Tests Work

About 2 min to read. Allow extra time to work through examples.

Six optional tests each check what you know about one later track. Pass one and you can skim that track. Get stuck, and that track is where to start.

This article uses Python. You can make it your practice mode to browse related content across the site.

The last six exercises in this track are placement tests. Each one checks what you already know about one later track. They are optional. Use them to decide where to start, or skip them and work through the tracks in order.

How to use them

Pick the test for a track you think you already know, and try it without the hints.

  • If you solve it on your own, you probably know that track's core material. Skim its articles and move on.
  • If you get stuck, that track is where to start. Come back to the test when you have finished the track.
Test Checks what you know about
1/6 type hints, generic classes and variance
2/6 protocols and abstract base classes
3/6 designing errors and exceptions
4/6 generators and iterators
5/6 asyncio tasks and cancellation
6/6 modules and imports

The tests use ideas from the tracks they check, before this site has taught them. Each problem statement defines its terms, but expect to look some things up. The fifth test is rated hard because asyncio cancellation is one of the harder topics in the course.

They count like other exercises

Each placement test is an ordinary exercise. Solving one counts toward this track's progress and appears in your solved list. A test you skip shows as unsolved in this track and on the Python roadmap.

Check your understanding You solve the generators test easily, but get stuck on the asyncio one. Where should you start? Show answer

Skim the generators track, and start the concurrency track from its first item. Each placement test tells you about the one track it checks, so passing one says nothing about the others.

step 7 of 13

Getting Started with Tests and Type Checks

Up next Placement 1/6: Make a Generic Class Read-Only