Python Junior
Маршрут от первого запуска Python до проекта и собеседования. Обязательные узлы идут по порядку, две дополнительные темы можно оставить на потом.
Интерактивная карта навыков Python Junior
Открой узел, прочитай ориентир и отметь состояние. В прогресс входят только обязательные темы.
01 / start Запусти Python
Среда, базовый синтаксис и управление потоком — минимум, чтобы писать небольшие программы без копирования.
01.01 Виртуальное окружение
Создавай и активируй venv, чтобы изолировать зависимости каждого проекта.
01.02 Синтаксис и переменные
Разберись с отступами, именами, присваиванием и базовой структурой программы.
01.03 Типы и преобразования
Работай с числами, строками, bool и None; преобразуй пользовательский ввод явно.
01.04 Форматирование строк
Подставляй значения и собирай понятные сообщения через f-строки.
01.05 Условия
Строй ветвление через if, elif и else; упрощай проверки и учитывай граничные случаи.
01.06 Циклы
Используй for и while, управляй обходом через range, break и continue.
02 / data Работай с данными
Выбирай структуру данных по задаче, преобразуй коллекции и оценивай стоимость простых операций.
02.01 Списки и кортежи
Добавляй, удаляй, сортируй и безопасно обходи последовательности; понимай разницу между list и tuple.
02.02 Словари
Храни данные по ключам, обновляй значения и безопасно обходи пары ключ — значение.
02.03 Включения коллекций
Строй новые коллекции коротко, но оставляй обычный цикл, когда он читается лучше.
02.04 Сортировка коллекций
Освой sorted, list.sort, key и reverse; отличай создание новой коллекции от сортировки на месте.
03 / structure Разделяй ответственность
Функции, модули и явная обработка ошибок превращают скрипт в код, который можно менять без страха.
03.01 Функции и return
Делай функции небольшими, передавай зависимости явно и отличай результат от побочного эффекта.
03.02 Аргументы и сигнатуры
Используй позиционные, именованные и значения по умолчанию; понимай *args и **kwargs.
03.03 Модули и импорты
Разделяй код по файлам, собирай пакеты и находи причину циклических или сломанных импортов.
03.04 Исключения
Лови только ожидаемые ошибки, поднимай понятные исключения и не скрывай сбои пустым except.
03.05 Файлы и контекстные менеджеры
Читай и записывай файлы с правильной кодировкой, закрывай ресурсы через with.
04 / toolbox Работай как разработчик
Код живёт в репозитории, общается по сети, хранит данные и должен объяснять, почему сломался.
04.01 Git
Проверь понимание коммитов, веток, remotes и безопасного восстановления изменений.
04.02 Зависимости и pyproject.toml
Фиксируй зависимости, запускай проект в чистом окружении и понимай роль pyproject.toml.
04.03 Разбор traceback
Читай цепочку вызовов, находи тип и место исключения, затем проверяй гипотезу небольшими шагами.
04.04 Проверка решений
Решай задачи, проверяй граничные случаи и разбирай ошибки до перехода к следующей теме.
04.05 HTTP и JSON
Разбирай запрос, ответ, методы, коды состояния и сериализацию данных в JSON.
04.06 SQL и PostgreSQL
Выбирай, фильтруй и соединяй данные; используй параметры вместо сборки SQL-строк.
05 / pythonic Понимай язык глубже
Освой ключевые протоколы Python и применяй выразительные возможности языка там, где они упрощают код.
05.01 Расширенные структуры данных
Примени стеки, очереди, кучи, деревья и графы в задачах после освоения функций.
05.02 Классы и композиция
Моделируй состояние и поведение, предпочитай композицию и не строй иерархии без необходимости.
05.03 Dataclass
Описывай простые структуры данных без ручного шаблонного кода и проверяй значения на границе.
05.04 Итераторы и генераторы
Обрабатывай потоки данных лениво и понимай разницу между iterable, iterator и generator.
05.05 Декораторы
Оборачивай функции без изменения их кода и сохраняй метаданные через functools.wraps.
05.06 Аннотации типов
Описывай публичные контракты через типы, читай сообщения проверщика типов и не дублируй очевидное.
06 / ship Закрепи навык проектом
Закрой обязательную основу, выбери дополнительные темы по цели и подготовься объяснить свои решения.
06.01 Asyncio и конкурентность
Пойми, когда нужен async/await, чем задачи отличаются от потоков и где асинхронность не помогает.
06.02 Python в веб-разработке
Разберись, какую роль Python играет в веб-сервисах и какие задачи решает серверная часть.
06.03 Валидация данных
Проверяй входные данные, возвращай понятные ошибки и отделяй правила валидации от остальной логики.
06.04 Рубеж: проект в портфолио
Собери поисковый движок как сквозной проект и подготовься объяснить его ключевые решения.
06.05 Собеседование и разбор пробелов
Проверь основу, реши задачу вслух и составь короткий план по темам, которые ещё проседают.
проверь, какие темы стоит повторить
Тест по Python помогает проверить знания и найти пробелы. В попытке 8 вопросов: баллы доступны без регистрации, разбор ответов — после сохранения в аккаунте.
открыть тест по Python