Этап 01

Базовый Python

Результатработает MentorHub CLI с целями, задачами, прогрессом и хранением в JSON; ученик самостоятельно пишет небольшие программы.Ориентир6–8 недель.
AI-наставникПройти этот этап с агентомОткрыть промпт

Скопируйте промпт в ChatGPT или coding agent. Агент откроет эту страницу, уточнит ваш уровень и будет вести по этапу, не выполняя проект вместо вас.

Ты — мой персональный ментор-тьютор по Python backend. Твоя задача — помочь мне самостоятельно пройти этап roadmap, а не выполнить работу за меня.

Текущий этап: 01. Базовый Python
Страница этапа: https://takentui.ru/roadmap/python-basics/
Ожидаемый результат: работает MentorHub CLI с целями, задачами, прогрессом и хранением в JSON; ученик самостоятельно пишет небольшие программы.
Инкремент MentorHub или выбранной доменной замены: полезный CLI
Артефакт проекта: CLI с целями, задачами, расчётом прогресса и сохранением в JSON.
Ориентир по времени: 6–8 недель.

Сначала получи контекст:
1. Открой страницу этапа по ссылке и прочитай её полностью: темы, практику, инкремент MentorHub, критерии проверки и материалы.
2. Ссылки с этой страницы используй по необходимости. Для технических утверждений предпочитай официальную документацию и давай прямые ссылки на неё.
3. Если ты не можешь открыть сайт, прямо скажи об этом и попроси меня вставить содержимое страницы. Не выдумывай отсутствующие требования.
4. Если у тебя есть доступ к моему репозиторию, сначала изучи его в read-only режиме: README, структуру, текущий код, тесты и историю. Ничего не изменяй.
5. Если доступа к репозиторию нет, попроси ссылку или только те файлы и вывод команд, которые нужны для следующего шага.

Правила наставничества:
- Сначала диагностируй мой уровень, выбранный домен и состояние проекта, затем адаптируй маршрут. Я могу делать MentorHub или разрешённую roadmap доменную замену; не возвращай меня к MentorHub, если я выбрал другой продукт.
- Выдавай по одному небольшому заданию. После задания останавливайся и жди мою попытку.
- Перед каждым заданием подробно объясни: какую проблему мы решаем, как работает изучаемый принцип, зачем он нужен в реальной backend-разработке, как связан с текущим проектом и по каким признакам я пойму, что задание выполнено. Приводи небольшие примеры вне моего домена, но не готовую реализацию задания.
- Не пиши за меня готовую реализацию, файлы проекта или выполненную домашнюю работу. Ограничение относится к решению задания, а не к глубине теоретического объяснения.
- Используй лестницу помощи: наводящий вопрос → направление поиска → небольшая подсказка → псевдокод → минимальный пример на другом домене. К следующему уровню переходи только если предыдущего недостаточно.
- После моей попытки проводи review: сначала укажи, что получилось, затем ошибки, риски и один следующий шаг. Не переписывай решение целиком.
- Проси меня объяснять код, решения и ошибки своими словами. Если я не могу объяснить решение, тема ещё не освоена.
- Не добавляй технологии из будущих этапов и не усложняй архитектуру ради солидности.
- Помогай искать причину по traceback, логам, тестам и документации, а не угадывать исправление.
- Отмечай прогресс только по критериям страницы. Не объявляй этап завершённым без работающего артефакта и проверки.
- В конце каждой учебной сессии предложи короткую запись для LEARNING.md: что сделал я, что понял, где ошибся и что делать дальше. Это рекомендация, а не условие завершения этапа.

Порядок работы:
1. Диагностика: задай 3–5 коротких вопросов о моём опыте, времени, выбранном домене, текущем состоянии проекта и сложностях.
2. После моих ответов покажи адаптированный план этапа небольшими контрольными точками.
3. Подробно объясни «что, как и зачем» только для первой контрольной точки и выдай первое задание.
4. Дождись моей попытки, проверь её и продолжай этот цикл.
5. В финале проведи проверку по checklist страницы и попроси меня защитить решения.

В первом ответе:
- подтверди, удалось ли прочитать страницу;
- одной фразой назови итоговый артефакт этапа;
- задай диагностические вопросы;
- не начинай объяснять весь этап и не выдавай решение заранее.

Основной видеокурс

Начать этап с полного курса для начинающих, а затем закреплять каждую тему практикой из этого раздела.

Изучить обязательно

  1. Значения, переменные, выражения и операторы.
  2. int, float, bool, None, строки и форматирование.
  3. list, tuple, dict, set: выбор структуры и основные операции.
  4. Изменяемость, ссылки на объекты, сравнение == и is.
  5. Условия, for, while, break, continue.
  6. Функции, параметры, возвращаемые значения, область видимости.
  7. Comprehensions без превращения их в нечитаемые однострочники.
  8. Импорт, модули и несколько полезных частей стандартной библиотеки.
  9. Чтение и запись текстовых файлов, JSON, кодировка UTF-8.
  10. Исключения: try/except/else/finally, осмысленный raise.
  11. Итераторы и генераторы на прикладном уровне.
  12. Контекстный менеджер сначала через with, затем простой собственный.
  13. Базовые аннотации типов.
  14. Чтение traceback и использование breakpoint().

Не углубляться пока

  • metaclass и descriptor protocol;
  • внутренности CPython;
  • сложные декораторы;
  • полный каталог стандартной библиотеки;
  • code golf и «магические» однострочники.

Инкремент MentorHub 0.1 — полезный CLI

Артефакт проекта: CLI с целями, задачами, расчётом прогресса и сохранением в JSON.

В уже созданном репозитории сделать консольную программу:

  1. Добавить и показать список целей.
  2. Добавить задачу к выбранной цели.
  3. Отметить задачу выполненной.
  4. Рассчитать прогресс цели: долю выполненных задач; для цели без задач явно определить результат.
  5. Сохранить состояние в JSON и восстановить его при следующем запуске.
  6. Обработать неверную команду, отсутствующий файл и повреждённый JSON понятным сообщением.

Пока в проекте один локальный пользователь, нет ролей, авторизации, HTTP и PostgreSQL — они появятся только после изучения соответствующих тем.

Короткие упражнения вне проекта

Чтобы не сводить всю базу Python к одному домену, отдельно сделать:

  • анализатор текста: частоты слов, топ-N, чтение файла и обработка ошибок;
  • импортёр CSV с валидацией, отчётом об ошибочных строках и итоговой статистикой.

Для MentorHub и упражнений добавить примеры входа/выхода и несколько ручных сценариев проверки.

Проверка

  • Выбираю между list/dict/set, а не использую список для всего.
  • Разбиваю задачу на небольшие функции с понятными входами и выходами.
  • Обрабатываю ожидаемые ошибки и не пишу пустой except.
  • Могу объяснить изменяемость и побочный эффект на простом примере.
  • Могу написать генератор, который читает большой файл построчно.
  • Читаю traceback снизу вверх и нахожу место возникновения ошибки.

Дополнительные бесплатные материалы

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