Python · Track

Syntax

Follow the sections in order. Each topic starts with a short explanation before the exercises.

3 levels 35 topics 390 exercises

Learning order

Sections and topics

Open topics from top to bottom inside each level, or jump to the part you need.

Beginner

17 topics · 210 exercises

Conditions Practical exercises with conditional statements in Python: comparing numbers, checking ranges, working with strings, passwords, percentages, and basic if, elif, else logic. 15 tasks Conditions 2 Additional practice with conditionals in Python: string checks, text lengths, characters, slices, string methods, logical and/or operators, and simple input processing scenarios. 11 tasks String Methods & f-strings Learn the most important built-in string methods and how to format strings using f-strings. 10 tasks While loop Python while loop exercises: repeating actions, counters, summing numbers, entering until a condition, break, looping through strings, and basic character processing. 14 tasks for loop, list, tuple Python for loop practice on lists and tuples: iterating through collections, filtering values, counting, finding minimums and maximums, working with strings, dates, and nested data. 15 tasks List & Tuple Methods Master all list methods and learn the key differences between lists and tuples. 10 tasks Functions Basic exercises on functions in Python: creating functions, parameters, return statements, checking numbers and strings, working with lists, tuples, and simple calculations. 10 tasks Functions level 2 Advanced Python function practice: string and number handling, logical tests, list comprehensions, filtering, counting, finding values, and writing small reusable functions. 20 tasks Functions: Level 3 Python Functions Level 3 Exercises: Functions with modes, flags, multiple conditions, string, list, and number handling to develop algorithmic thinking. 15 tasks OOP Basics Practical exercises on the basics of OOP in Python: creating classes and objects, attributes, methods, __init__, changing object state, and simple entity modeling. 11 tasks OOP: Inheritance and Dunder Methods OOP problems in Python on inheritance and special methods: child classes, overriding behavior, __str__, __len__, extending base classes, and working with the object model. 9 tasks OOP, dictionaries, algorithmic thinking Python exercises on OOP, dictionaries, and algorithmic thinking: classes for data analysis, counting words and characters, working with ratings, passwords, statistics, and dictionary transformations. 15 tasks Dictionary Methods Learn all essential dictionary methods and dict comprehensions for clean and efficient data manipulation. 10 tasks Sets, dictionaries, error handling Python practice with sets, dictionaries, and error handling: unique values, common symbols, try/except, safe data handling, word grouping, and string parsing. 15 tasks Set Methods Learn how to work with sets: adding and removing elements, and set operations like union, intersection, and difference. 10 tasks Error Handling Basics Learn how to handle errors gracefully using try/except/else/finally, raise your own exceptions, and write robust Python programs. 10 tasks Working with files: reading and writing Hands-on exercises for working with files in Python: reading text, writing lines, appending data, counting lines and words, processing file contents, and creating simple reports. 10 tasks

Intermediate

10 topics · 100 exercises

Advanced

8 topics · 80 exercises

Decorators Functions that wrap other functions to modify or extend their behaviour. Covers `@` syntax, decorators with arguments, stacking decorators, and `functools.wraps`. 10 tasks OOP Class Method Decorators Master @classmethod, @staticmethod, @property, @property.setter and @property.deleter. Learn when each decorator is appropriate and how they interact with inheritance. 10 tasks Generators and itertools Functions that yield values one at a time instead of building a full list. Covers `yield`, `yield from`, generator expressions, and itertools for efficient pipelines. 10 tasks Context managers Objects that manage setup and teardown with the `with` statement. Covers `__enter__`/`__exit__`, `contextlib.contextmanager`, and resource management patterns. 10 tasks Type hints and dataclasses Static annotations that document intent and power IDE tooling. Covers function signatures, `Optional`, `Union`, `TypedDict`, `Protocol`, and `dataclasses`. 10 tasks Async Python Write concurrent programs using `async def`, `await`, and `asyncio`. Covers coroutines, `asyncio.gather`, tasks, `asyncio.Queue`, and async iterators. 10 tasks Testing with pytest Write reliable tests using pytest. Covers test functions, fixtures, parametrize, monkeypatch, and testing exceptions. 10 tasks functools: partial, lru_cache, and more Master the functools module: `partial`, `wraps`, `lru_cache`, `cached_property`, `total_ordering`, and `singledispatch`. 10 tasks