Python · Трек

Синтаксис

Проходите разделы по порядку. Каждая тема начинается с короткого объяснения перед упражнениями.

3 уровня 35 тем 390 упражнений

Порядок обучения

Разделы и темы

Открывайте темы сверху вниз внутри каждого уровня или переходите сразу к нужной части.

Начальный уровень

17 тем · 210 упражнений

Условные операторы Практические упражнения по условным операторам в Python: сравнение чисел, проверка диапазонов, работа со строками, паролями, процентами и базовой логикой if, elif, else. 15 задач Условные операторы 2 Дополнительная практика по условным операторам в Python: проверки строк, длины текста, символов, срезов, методов строк, логических операторов and/or и простых сценариев обработки ввода. 11 задач Методы строк и f-strings Изучите важнейшие встроенные методы строк и форматирование с помощью f-strings. 10 задач Цикл while Упражнения по циклу while в Python: повторение действий, счётчики, суммы чисел, ввод до нужного условия, break, перебор строк и базовая обработка символов. 14 задач Цикл for, списки и кортежи Практика цикла for в Python на списках и кортежах: перебор коллекций, фильтрация значений, подсчёты, поиск минимума и максимума, работа со строками, датами и вложенными данными. 15 задач Методы списков и кортежей Освойте все методы списков и разберитесь в ключевых отличиях между списками и кортежами. 10 задач Функции Базовые упражнения по функциям в Python: создание функций, параметры, return, проверки чисел и строк, работа со списками, кортежами и простыми вычислениями. 10 задач Функции уровень 2 Расширенная практика функций в Python: обработка строк и чисел, логические проверки, списки, фильтрация, подсчёты, поиск значений и написание небольших переиспользуемых функций. 20 задач Функции: уровень 3 Упражнения по функциям Python уровня 3: функции с режимами работы, флагами, несколькими условиями, обработкой строк, списков и чисел для развития алгоритмического мышления. 15 задач Основы ООП Практические задания по основам ООП в Python: создание классов и объектов, атрибуты, методы, __init__, изменение состояния объекта и простое моделирование сущностей. 11 задач ООП: наследование и dunder-методы Задачи по ООП в Python на наследование и специальные методы: дочерние классы, переопределение поведения, __str__, __len__, расширение базовых классов и работа с объектной моделью. 9 задач ООП, словари, алгоритмическое мышление Упражнения по Python на ООП, словари и алгоритмическое мышление: классы для анализа данных, подсчёт слов и символов, работа с оценками, паролями, статистикой и преобразованием словарей. 15 задач Методы словарей Освойте все основные методы словарей и dict comprehension для эффективной работы с данными. 10 задач Множества, словари, обработка ошибок Практика Python с множествами, словарями и обработкой ошибок: уникальные значения, общие символы, try/except, безопасная обработка данных, группировка слов и анализ строк. 15 задач Методы множеств Научитесь работать с множествами: добавлять и удалять элементы, а также выполнять операции объединения, пересечения и разности. 10 задач Основы обработки ошибок Научитесь обрабатывать ошибки с помощью try/except/else/finally, генерировать собственные исключения и писать надёжный Python-код. 10 задач Работа с файлами: чтение и запись Практические упражнения по работе с файлами в Python: чтение текста, запись строк, добавление данных, подсчёт строк и слов, обработка содержимого файла и создание простых отчётов. 10 задач

Промежуточный

10 тем · 100 упражнений

Включения списков и словарей Создавайте списки, словари и множества в одном выражении. Охватывает включения списков, словарей, множеств и выражения-генераторы. 10 задач lambda, map, filter, reduce Функциональные инструменты для преобразования и фильтрации коллекций без явных циклов. 10 задач itertools Освойте модуль itertools в Python: инструменты для работы с итераторами, генерации последовательностей и эффективного решения комбинаторных задач. 10 задач Рекурсия Функции, которые вызывают сами себя. Рассматривает базовые случаи, рекурсивные паттерны и когда рекурсия является правильным инструментом. 10 задач Сортировка и компараторы sorted() и list.sort() с функциями key=, reverse и многоключевыми компараторами. 10 задач Модули datetime и json Работа с датами и временем с помощью модуля datetime и сериализация данных с помощью модуля json. 10 задач pathlib Научитесь работать с путями файловой системы с помощью современного модуля pathlib в Python — чище и мощнее, чем os.path. 10 задач collections: Counter, defaultdict, namedtuple Специализированные типы контейнеров: Counter для подсчёта, defaultdict для сгруппированных данных, namedtuple для структурированных записей. 10 задач dataclasses Научитесь использовать датаклассы Python для определения чистых контейнеров данных без шаблонного кода с автоматической генерацией __init__, __repr__ и __eq__. 10 задач Регулярные выражения Поиск по шаблону с помощью модуля re. Охватывает search, match, findall, группы и распространённые паттерны. 10 задач

Продвинутый уровень

8 тем · 80 упражнений

Декораторы Функции, оборачивающие другие функции для изменения или расширения их поведения. Охватывает синтаксис `@`, декораторы с аргументами, стекирование и `functools.wraps`. 10 задач Декораторы методов классов ООП Освоение @classmethod, @staticmethod, @property, @property.setter и @property.deleter. Когда каждый уместен и как они взаимодействуют с наследованием. 10 задач Генераторы и itertools Функции, возвращающие значения по одному вместо построения полного списка. Охватывает `yield`, `yield from`, генераторные выражения и itertools. 10 задач Контекстные менеджеры Объекты, управляющие настройкой и очисткой через оператор `with`. Охватывает `__enter__`/`__exit__`, `contextlib.contextmanager` и паттерны управления ресурсами. 10 задач Аннотации типов и dataclasses Статические аннотации, документирующие намерения и поддерживающие инструменты IDE. Охватывает `Optional`, `Union`, `TypedDict`, `Protocol` и `dataclasses`. 10 задач Асинхронный Python Пишите конкурентные программы с `async def`, `await` и `asyncio`. Охватывает корутины, `asyncio.gather`, задачи, `asyncio.Queue` и асинхронные итераторы. 10 задач Тестирование с pytest Пишите надёжные тесты с pytest. Охватывает тестовые функции, фикстуры, parametrize, monkeypatch и тестирование исключений. 10 задач functools: partial, lru_cache и другое Освойте модуль functools: `partial`, `wraps`, `lru_cache`, `cached_property`, `total_ordering` и `singledispatch`. 10 задач