🐍

Python: от основ до собеседования и работы

Полный курс Python для тех, кто хочет пройти собеседование и уверенно работать разработчиком. Синтаксис и коллекции, функции и декораторы, модель данных и память, ООП, генераторы, исключения, типизация, тестирование, асинхронность, устройство CPython, алгоритмы для live coding, инструменты для работы (Git, SQL, HTTP, FastAPI, Docker) и подготовка к интервью. Код запускается прямо в браузере, есть пошаговый визуализатор выполнения и задания с автотестами.

99уроков
511заданий
Начать обучение →
пройден начат не начат в разработке
Модуль 1

Старт и основы синтаксиса

Как работает Python, переменные и типы, строки, условия, циклы и первые функции.

  1. Что такое Python и как запускается программа 5 зад. · 20 мин
  2. Переменные, имена и базовые типы 6 зад. · 25 мин
  3. Числа: int, float, Decimal и арифметика 6 зад. · 30 мин
  4. Строки: индексы, срезы и методы 6 зад. · 35 мин
  5. Ввод, вывод и f-строки 5 зад. · 25 мин
  6. Логика и условия: if, and/or, match 6 зад. · 30 мин
  7. Циклы while и for, range, break и else 6 зад. · 30 мин
  8. Функции: def, return, параметры 5 зад. · 30 мин
Модуль 2

Коллекции

Списки, кортежи, словари, множества, включения, сортировка и модуль collections.

  1. Списки 6 зад. · 35 мин
  2. Кортежи и распаковка 5 зад. · 20 мин
  3. Словари 6 зад. · 35 мин
  4. Множества 5 зад. · 20 мин
  5. Списковые, словарные и множественные включения 5 зад. · 25 мин
  6. Сортировка, key и lambda 5 зад. · 25 мин
  7. Модуль collections: Counter, defaultdict, deque 5 зад. · 30 мин
  8. Строки глубже: Unicode, bytes и кодировки 5 зад. · 25 мин
Модуль 3

Функции глубже

Все виды аргументов, области видимости, замыкания, функции высшего порядка, декораторы и рекурсия.

  1. Аргументы: *args, **kwargs, / и * 5 зад. · 30 мин
  2. Области видимости: LEGB, global, nonlocal 5 зад. · 25 мин
  3. Замыкания и lambda 5 зад. · 25 мин
  4. Функции высшего порядка: map, filter, reduce, partial 5 зад. · 25 мин
  5. Декораторы 5 зад. · 35 мин
  6. Декораторы с параметрами, wraps и lru_cache 5 зад. · 30 мин
  7. Рекурсия 6 зад. · 30 мин
Модуль 4

Модель данных и память

Самая «собеседовательная» тема: объекты и ссылки, изменяемость, копирование, хеширование и классические ловушки.

  1. Всё — объект: id, type, ссылки, is и == 6 зад. · 30 мин
  2. Изменяемые и неизменяемые типы, передача аргументов 5 зад. · 30 мин
  3. Поверхностное и глубокое копирование 5 зад. · 25 мин
  4. Классические ловушки: аргументы по умолчанию, позднее связывание и другие 6 зад. · 35 мин
  5. Хеширование: как устроены dict и set 5 зад. · 35 мин
  6. Истинность, сравнение и кеширование объектов 5 зад. · 30 мин
Модуль 5

Объектно-ориентированное программирование

Классы, наследование и MRO, инкапсуляция, магические методы, dataclasses, протоколы, дескрипторы, метаклассы и SOLID.

  1. Классы и объекты 5 зад. · 35 мин
  2. Наследование, super() и MRO 5 зад. · 35 мин
  3. Инкапсуляция и property 5 зад. · 30 мин
  4. Магические методы 5 зад. · 40 мин
  5. classmethod, staticmethod и альтернативные конструкторы 5 зад. · 25 мин
  6. dataclasses и NamedTuple 5 зад. · 35 мин
  7. Абстрактные классы, утиная типизация и Protocol 5 зад. · 35 мин
  8. Дескрипторы и __slots__ 5 зад. · 40 мин
  9. Метаклассы, type и __init_subclass__ 5 зад. · 35 мин
  10. SOLID и паттерны проектирования в Python 5 зад. · 40 мин
Модуль 6

Итераторы, генераторы и контекстные менеджеры

Как работает for, ленивые вычисления, yield, itertools и with.

  1. Протокол итератора 5 зад. · 30 мин
  2. Генераторы, yield и yield from 5 зад. · 40 мин
  3. itertools и functools 5 зад. · 40 мин
  4. Контекстные менеджеры и with 5 зад. · 35 мин
Модуль 7

Исключения, логирование и отладка

Обработка ошибок, собственные исключения, logging и отладчик.

  1. Исключения: try, except, else, finally 5 зад. · 35 мин
  2. Свои исключения, raise from и ExceptionGroup 5 зад. · 35 мин
  3. Логирование и отладка 5 зад. · 35 мин
Модуль 8

Модули, пакеты и окружение

Как работает import, пакеты, виртуальные окружения, зависимости и стандартная библиотека.

  1. Модули и импорт 5 зад. · 35 мин
  2. Пакеты и структура проекта 5 зад. · 30 мин
  3. Виртуальные окружения и зависимости: venv, pip, pyproject, uv 5 зад. · 30 мин
  4. Обзор стандартной библиотеки 5 зад. · 40 мин
Модуль 9

Файлы и данные

Файлы и pathlib, JSON и CSV, дата и время, регулярные выражения.

  1. Файлы и pathlib 5 зад. · 35 мин
  2. JSON, CSV и сериализация 5 зад. · 35 мин
  3. Дата, время и часовые пояса 5 зад. · 35 мин
  4. Регулярные выражения 5 зад. · 40 мин
Модуль 10

Типизация и качество кода

Аннотации типов и mypy, продвинутая типизация, PEP 8 и инструменты.

  1. Аннотации типов и mypy 5 зад. · 35 мин
  2. Продвинутая типизация: Generic, Protocol, TypedDict 5 зад. · 40 мин
  3. PEP 8, линтеры и чистый код 5 зад. · 30 мин
Модуль 11

Тестирование

pytest, фикстуры и параметризация, моки, TDD и покрытие.

  1. Тесты: unittest и pytest 5 зад. · 40 мин
  2. Фикстуры и параметризация в pytest 5 зад. · 35 мин
  3. Моки, патчи и тестовые двойники 5 зад. · 40 мин
  4. TDD, покрытие и тестовая пирамида 5 зад. · 35 мин
Модуль 12

Конкурентность и асинхронность

Потоки, процессы и GIL, concurrent.futures, asyncio от основ до практики.

  1. Конкурентность, параллелизм и GIL 5 зад. · 35 мин
  2. Потоки: threading и concurrent.futures 5 зад. · 40 мин
  3. Процессы: multiprocessing 5 зад. · 35 мин
  4. asyncio: корутины и цикл событий 5 зад. · 40 мин
  5. asyncio на практике: задачи, таймауты, семафоры 5 зад. · 40 мин
Модуль 13

Внутреннее устройство и производительность

Байткод и интерпретатор CPython, память и сборщик мусора, сложность операций, профилирование.

  1. Как работает CPython: байткод и интерпретатор 5 зад. · 35 мин
  2. Память: подсчёт ссылок и сборщик мусора 5 зад. · 35 мин
  3. Сложность операций встроенных типов 5 зад. · 35 мин
  4. Профилирование и оптимизация 5 зад. · 35 мин
Модуль 14

Алгоритмы и структуры данных для собеседований

Всё, что спрашивают на live coding: от оценки сложности до динамического программирования.

  1. Оценка сложности алгоритмов 5 зад. · 35 мин
  2. Массивы: два указателя и скользящее окно 5 зад. · 45 мин
  3. Хеш-таблицы в задачах 5 зад. · 45 мин
  4. Стек, очередь и монотонный стек 5 зад. · 45 мин
  5. Бинарный поиск 5 зад. · 40 мин
  6. Алгоритмы сортировки 5 зад. · 45 мин
  7. Связные списки 5 зад. · 45 мин
  8. Деревья и обходы 5 зад. · 50 мин
  9. Кучи и heapq 5 зад. · 40 мин
  10. Графы: BFS, DFS и топологическая сортировка 5 зад. · 50 мин
  11. Перебор с возвратом 6 зад. · 40 мин
  12. Динамическое программирование 7 зад. · 50 мин
  13. Жадные алгоритмы и интервалы 6 зад. · 40 мин
Модуль 15

Python в работе

Инструменты повседневной работы разработчика: Git, CLI, SQL, ORM, HTTP, FastAPI, Docker и командная разработка.

  1. Git и командная работа 5 зад. · 40 мин
  2. Скрипты и CLI: argparse, subprocess 4 зад. · 40 мин
  3. SQL и sqlite3 7 зад. · 55 мин
  4. ORM на примере SQLAlchemy 4 зад. · 50 мин
  5. HTTP, REST и клиенты requests/httpx 4 зад. · 45 мин
  6. Веб-API на FastAPI и Pydantic 4 зад. · 55 мин
  7. Docker и деплой 4 зад. · 45 мин
  8. Конфигурация, переменные окружения и архитектура приложения 4 зад. · 45 мин
Модуль 16

Подготовка к собеседованию

Как проходит интервью, топ вопросов с ответами, каверзный код, live coding, system design, поведенческое интервью и пробное собеседование.

  1. Как проходит собеседование на Python-разработчика 4 зад. · 30 мин
  2. Топ вопросов по языку с ответами 5 зад. · 50 мин
  3. Топ вопросов: ООП, внутренности, конкурентность 4 зад. · 50 мин
  4. «Что выведет код?»: каверзные задачи 8 зад. · 45 мин
  5. Live coding: как решать задачи вслух 6 зад. · 60 мин
  6. Основы system design 4 зад. · 55 мин
  7. Поведенческое интервью и вопросы работодателю 3 зад. · 30 мин
  8. Пробное собеседование 12 зад. · 90 мин