К курсуНеделя 2

Файлы, JSON, ошибки, Git

На этой неделе ты начинаешь писать код, который живёт дольше одной сессии: читает файлы, сохраняет состояние, обрабатывает ошибки и лежит в GitHub.

Чтобы сохранять прогресс, войдите в аккаунт.

Цель недели

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

Что изучить

  • чтение и запись файлов;
  • json.load, json.dump;
  • try/except;
  • структура проекта: файлы, папки, README.md;
  • базовый Git: status, add, commit, push.

Материалы

  1. Real Python — Working With Files in Python
  2. Real Python — JSON in Python
  3. Git за час — Владилен Минин
  4. Learn Git Branching
Чек-лист недели
0/5 выполнено

Мини-проект недели

Расширь прошлый проект до TODO-менеджера, который:

  • сохраняет задачи в tasks.json;
  • умеет добавлять, удалять и помечать задачи;
  • не падает, если файл пустой или повреждён;
  • печатает внятные сообщения об ошибках.
Практика
Задание: безопасная загрузка JSON
Напиши функцию load_tasks(path), которая: 1. пытается открыть JSON-файл; 2. если файла нет — возвращает пустой список; 3. если JSON сломан — тоже возвращает пустой список; 4. печатает человеку понятное сообщение.

Как лучше усвоить

Эта неделя отлично заходит через цикл сделал → сломал → починил. Специально ломай JSON, вводи мусор, удаляй файл и смотри, как твой код себя ведёт.

Практика по дням

День 1

  • файлы: open, read, write, with;
  • упражнение: сохранить заметку в файл и прочитать её обратно.

День 2

  • JSON;
  • упражнение: превратить список словарей в JSON и обратно.

День 3

  • ошибки и исключения;
  • упражнение: обработать некорректный ввод возраста/числа/даты.

День 4

  • Git + GitHub;
  • залить TODO-проект в репозиторий, оформить README.

День 5

  • сделать ревизию кода: названия, структура, понятность.
Что особенно важно

Если сейчас проигнорировать Git и читаемую структуру проекта, позже ты упрёшься в хаос. Это скучная часть, но она очень окупается.