ssprkd.io
🐍Skill assessment · 37 questions

Python skill assessment

From data types to the GIL.

What it covers

Data Types

Master Python's built-in types and their mutability and performance characteristics. Choosing the right type prevents subtle bugs and makes code faster.

Mutable vs. immutable typeslist, tuple, set, and dict tradeoffsString methods and f-stringsNumeric types and int/float precisionComprehensions and slicing

Functions & Scope

Understand how functions, arguments, and scoping rules work so you write predictable, reusable code. Scope and argument bugs are a frequent source of surprises.

Positional, keyword, *args and **kwargsDefault argument mutable pitfallLEGB scope and nonlocal/globalClosures and first-class functionsDecorators and functools.wraps

OOP

Learn Python's object model, including dunder methods and inheritance, to design clean classes. Idiomatic OOP makes APIs intuitive and extensible.

Classes, instances, and selfDunder methods (__init__, __repr__, __eq__)Inheritance and MROClass vs. instance vs. static methodsDataclasses and properties

Iterators & Generators

Master the iterator protocol and generators to process data lazily and efficiently. These tools enable memory-friendly pipelines over large datasets.

Iterator protocol: __iter__ and __next__Generator functions and yieldGenerator expressionsyield from and delegationitertools building blocks

Concurrency

Understand Python's concurrency models and the GIL so you choose the right approach for I/O- vs. CPU-bound work. The wrong model leads to no real speedup.

GIL and its implicationsthreading for I/O-bound workmultiprocessing for CPU-bound workasyncio, async/await, and event loopconcurrent.futures executors

Idioms & Gotchas

Learn Pythonic idioms and avoid common traps that bite experienced developers. Writing idiomatic Python improves readability and prevents bugs.

Truthiness and is vs. ==Mutable default arguments trapLate binding in closures and loopsEAFP vs. LBYL styleContext managers and with

Ready to benchmark your Python skills?

37 questions Β· about 5 minutes Β· see your level and percentile instantly.

Take the assessment β†’

Explore other assessments