Academy Mitherium

Бесплатный Python Start: 30 дней практики

Бесплатный 30-дневный практикум по Python с интерактивными заданиями, тестами и финальным mini-project.

Бесплатный Python Start 5 модулей 30 уроков 30 дней День 1 из 30 Code Lab Тесты
Что освоите

Инструменты и рабочий процесс

Python 3, venv, pip, терминал, редактор кода, JSON, файлы, простые функции, Flask/FastAPI по желанию и учебный браузерный Code Lab

День 1

День 1. Установка Python, редактора и venv

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

Финальный результат

Проект к 30 дню

мини-сервис на Python: обработка заявок, каталог данных, сохранение в файл/SQLite и простой API-сценарий

Карта курса

5 модулей по 6 дней

Каждый модуль закрывает отдельный слой навыка: сначала база и окружение, затем данные, интерфейс или backend-логика, устойчивость и финальная сборка.

Модуль 1

Модуль 1. Python с нуля и рабочая среда

Дни 1-6: установка, запуск, переменные, типы, условия, списки, словари и первые функции. Фокус блока: venv, pip, структура папок, requirements.txt и запуск скрипта; типы Python: str, int, bool, list, dict, None и проверка входных данных; функции с параметрами, возвращаемыми значениями и понятными ошибками; Flask/FastAPI маршруты, JSON-ответы, формы и HTTP-статусы. Практический результат: набор маленьких Python-скриптов, которые запускаются и объясняют базу языка.

Модуль 2

Модуль 2. Данные, файлы и маленькая автоматизация

Дни 7-12: обработка списков, ошибки, файлы, JSON, CSV и автоматический отчет. Фокус блока: типы Python: str, int, bool, list, dict, None и проверка входных данных; функции с параметрами, возвращаемыми значениями и понятными ошибками; Flask/FastAPI маршруты, JSON-ответы, формы и HTTP-статусы; SQLite, CRUD, prepared параметры, импорт CSV/JSON и requests. Практический результат: скрипт, который читает данные, проверяет их и сохраняет результат.

Модуль 3

Модуль 3. Мини-backend и API-мышление

Дни 13-18: маршруты, HTTP, JSON-ответы, формы, валидация и локальный сервис. Фокус блока: функции с параметрами, возвращаемыми значениями и понятными ошибками; Flask/FastAPI маршруты, JSON-ответы, формы и HTTP-статусы; SQLite, CRUD, prepared параметры, импорт CSV/JSON и requests; логирование, обработка исключений и ручная проверка API через curl/http-client. Практический результат: локальный Python-сервис с несколькими маршрутами и проверкой данных.

Модуль 4

Модуль 4. SQLite, структура проекта и надежность

Дни 19-24: база данных, CRUD, слои проекта, логирование, настройки и проверки. Фокус блока: Flask/FastAPI маршруты, JSON-ответы, формы и HTTP-статусы; SQLite, CRUD, prepared параметры, импорт CSV/JSON и requests; логирование, обработка исключений и ручная проверка API через curl/http-client; venv, pip, структура папок, requirements.txt и запуск скрипта. Практический результат: устойчивый Python-проект с базой, функциями доступа к данным и проверками.

Модуль 5

Модуль 5. Финальный бесплатный Python-проект

Дни 25-30: план, реализация, API, база, отчет, полировка и демонстрация результата. Фокус блока: SQLite, CRUD, prepared параметры, импорт CSV/JSON и requests; логирование, обработка исключений и ручная проверка API через curl/http-client; venv, pip, структура папок, requirements.txt и запуск скрипта; типы Python: str, int, bool, list, dict, None и проверка входных данных. Практический результат: готовый бесплатный Python mini-project с API, базой и отчетом.

Модуль 1. Python с нуля и рабочая среда

День 1. Установка Python, редактора и venv

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

Прогресс Academy 3%

День 1 из 30. Пройдите материал, выполните Code Lab и сохраните результат дня.

День 1. Настраиваем среду так, чтобы каждый пример запускался одинаково: Python, виртуальное окружение, папка проекта и первый файл.

Цель дня

Тема дня — Установка Python, редактора и venv. Ее нужно разобрать не как отдельный термин, а как рабочий навык: понять назначение, написать минимальный пример, проверить ошибки и сохранить фрагмент для проекта.

Контекст раздела: Бесплатный Python Start: 30 дней практики. Инструменты: Python 3, venv, pip, терминал, редактор кода, JSON, файлы, простые функции, Flask/FastAPI по желанию и учебный браузерный Code Lab. Итоговая линия практики: мини-сервис на Python: обработка заявок, каталог данных, сохранение в файл/SQLite и простой API-сценарий.

Установка

Установка Python под macOS и Windows

Для курса нужен Python 3, редактор кода и отдельное виртуальное окружение проекта.

macOS

Программы
  • Python 3
  • VS Code или PyCharm
  • Terminal
  • Git
  • pip/venv
Шаги установки
  • Установите Xcode Command Line Tools
  • Установите Homebrew, если его еще нет
  • Поставьте Python 3
  • Создайте папку проекта и venv
Проверка
  • Команда python --version показывает Python 3
  • pip --version работает внутри .venv
  • Файл day_01.py запускается командой python day_01.py
Частые ошибки
  • не смешивать системный Python и окружение проекта
  • если python не найден, используйте python3
  • не устанавливать пакеты глобально без необходимости
Команды
xcode-select --install
brew install python git
python3 -m venv .venv
source .venv/bin/activate
python --version

Карта темы

  • Вход: определите, какие данные, событие, файл, запрос, объект сцены или действие пользователя запускают текущую логику.
  • Обработка: запишите 2-4 шага, которые превращают вход в результат: проверка, преобразование, сохранение, отрисовка или обновление состояния.
  • Выход: заранее зафиксируйте, что должно появиться после выполнения: текст, объект, строка таблицы, экран, ответ API, игровое состояние или отчет.
  • Граница качества: результат считается готовым только после проверки нормального сценария, пустого состояния и одной ошибки.

Что обязательно выучить

  • точное назначение темы "Установка Python, редактора и venv" в текущем модуле
  • минимальный рабочий пример, который можно запустить и объяснить своими словами
  • venv, pip, структура папок, requirements.txt и запуск скрипта
  • типы Python: str, int, bool, list, dict, None и проверка входных данных
  • функции с параметрами, возвращаемыми значениями и понятными ошибками
  • Flask/FastAPI маршруты, JSON-ответы, формы и HTTP-статусы
  • как встроить результат дня в итоговую сборку: мини-сервис на Python: обработка заявок, каталог данных, сохранение в файл/SQLite и простой API-сценарий

Короткая теория без воды

Главное правило дня: сначала получите маленький результат, который можно запустить и проверить. Потом добавляйте структуру, обработку ошибок и связь с остальными частями проекта.

  • В Python держите бизнес-логику в функциях: маршрут принимает запрос, функция проверяет данные, отдельная функция сохраняет результат.
  • Для backend не доверяйте форме: проверяйте типы, обязательные поля и допустимые статусы на сервере.
  • Автоматизация полезна, когда она повторяема: входные файлы, формат результата и сообщения об ошибках должны быть предсказуемыми.

Для темы Установка Python, редактора и venv особенно важно не заучивать синтаксис отдельно от задачи. Сразу связывайте конструкцию языка с реальным действием: принять данные, проверить их, изменить состояние, показать результат или сохранить его.

Глубокий фокус

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

  • функции с параметрами, возвращаемыми значениями и понятными ошибками
  • Flask/FastAPI маршруты, JSON-ответы, формы и HTTP-статусы
  • SQLite, CRUD, prepared параметры, импорт CSV/JSON и requests

Результат модуля — набор маленьких Python-скриптов, которые запускаются и объясняют базу языка. Поэтому любой пример дня должен отвечать на вопрос: какую часть этого результата он делает понятнее или надежнее.

Рабочий синтаксис или шаблон

python -m venv .venv
source .venv/bin/activate
pip install flask requests

Не переписывайте шаблон механически. Измените имена, данные и условия под тему дня, затем запустите пример и проверьте вывод, экран, запрос или состояние.

Мини-словарь урока

venv
изолированное окружение проекта, где зависимости не смешиваются с другими проектами
dict
структура ключ-значение для пользователя, заявки, товара, настройки или API-ответа
function
переиспользуемый блок логики: получает данные, выполняет действие и возвращает результат
exception
ситуация ошибки, которую нужно обработать понятным сообщением или fallback-сценарием

Тренировочные сценарии

  • Базовый сценарий: собрать минимальный пример по теме "Установка Python, редактора и venv" и получить ожидаемый результат без дополнительных условий.
  • Пустое состояние: проверить, что произойдет без данных, без выбранного элемента, без файла, без записи или без объекта сцены.
  • Ошибочный ввод: намеренно передать неверный тип, пустую строку, неизвестный идентификатор, несуществующий путь или неподходящий статус.
  • Повторное действие: запустить пример второй раз и убедиться, что состояние не ломается, данные не дублируются и результат остается предсказуемым.

Алгоритм практики

  1. Запишите входные данные: что приходит от пользователя, файла, API, базы, сцены или экрана.
  2. Опишите ожидаемый результат: строка, объект, запись в базе, экран, запрос, игровое состояние или отчет.
  3. Соберите самый короткий пример по теме "Установка Python, редактора и venv" и запустите его.
  4. Добавьте проверку: пустой ввод, неверный тип, отсутствие записи, ошибка сети, null-ссылка или некорректный статус.
  5. Вынесите повторяемую часть в функцию, метод, компонент, сервис, query или отдельный скрипт.
  6. Сохраните результат и подпишите, как он войдет в "набор маленьких Python-скриптов, которые запускаются и объясняют базу языка".

Частые ошибки

  • устанавливать пакеты глобально вместо venv и потом терять зависимости проекта
  • возвращать HTML или JSON без проверки статуса и ошибок
  • строить SQL строкой из пользовательского ввода
  • прятать всю логику внутри одного маршрута

Критерии качества

  • В примере есть понятные имена: по названию переменной, функции, файла, таблицы или объекта видно назначение.
  • Входные данные отделены от обработки: их можно заменить без переписывания всего решения.
  • Результат можно проверить глазами: вывод, экран, запись, запрос, счетчик, статус или поведение сцены однозначны.
  • Есть минимум одна защита от ошибки: проверка null/None, пустого массива, неверного статуса, исключения, отсутствующей записи или сбоя запроса.
  • Фрагмент можно перенести в результат модуля "набор маленьких Python-скриптов, которые запускаются и объясняют базу языка" без полной переделки.

Практическая сборка

Создайте папку free-python-start, виртуальное окружение, файл day_01.py и выведите две строки через print.

Python Lab

Python-проверка результата дня

Создайте переменные, выведите название темы и посчитайте следующий день практики. Тема дня: Установка Python, редактора и venv.

Результат
Нажмите "Запустить код", чтобы увидеть вывод.
Ожидаемый результат показан ниже, чтобы можно было сверить работу.

Задание со звездочкой

  • Добавьте второй набор входных данных и проверьте, что решение работает не только на одном примере.
  • Разделите решение минимум на две функции, метода, компонента, запроса или Blueprint/Godot-сценария по смыслу.
  • Сделайте короткую таблицу проверки: успешный сценарий, пустое состояние, ошибка и повторный запуск.
  • Подготовьте маленькое улучшение для финального проекта: настройку, фильтр, статус, сохранение, UI-сообщение или дополнительный тест.

Что записать в личную методичку

  • Одним предложением запишите, какую задачу решает тема "Установка Python, редактора и venv".
  • Сохраните рабочий пример и рядом коротко подпишите входные данные, шаги обработки и ожидаемый результат.
  • Отдельно выпишите одну ошибку, которую вы встретили или специально проверили, и способ ее обнаружения.
  • В конце дня обновите план финального проекта: куда именно войдет сегодняшний результат в "мини-сервис на Python: обработка заявок, каталог данных, сохранение в файл/SQLite и простой API-сценарий".

Ретроспектива дня

  • Что стало понятнее после практики?
  • Где пример сломался или мог сломаться?
  • Какой один фрагмент стоит повторить завтра перед новым уроком?

Самопроверка перед следующим днем

  • Можете ли вы объяснить, какие данные входят в пример и что должно получиться на выходе?
  • Запускается ли пример с первого сохраненного состояния без ручных скрытых шагов?
  • Проверены ли нормальный сценарий, пустые данные и одна ошибка пользователя или системы?
  • Понятно ли из имен файлов, функций и переменных, за что отвечает каждая часть?
  • Можно ли завтра использовать этот результат без переписывания с нуля?

Контроль результата

Запускается первый Python-файл, есть понятная структура папки и заметка с командами запуска.

Практическое задание для самостоятельной работы

Создайте папку free-python-start, виртуальное окружение, файл day_01.py и выведите две строки через print. Минимум результата: рабочий пример, один ошибочный сценарий, короткая заметка с выводами и сохраненный файл/запрос/экран для финальной сборки.

Материалы

Что использовать в работе

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

Самопроверка модуля

Самопроверка модуля 1: Модуль 1. Python с нуля и рабочая среда

Пять вопросов по ключевым решениям модуля. Тест не блокирует следующие уроки и нужен для самостоятельного разбора.

1. Что важнее всего сделать в теме "Установка Python, редактора и venv"?
Варианты
  • Собрать минимальный пример и проверить нормальный и ошибочный сценарий
  • Сразу переносить код в финальный проект без проверки
  • Пропустить практику и оставить только конспект
  • Заменить задачу случайным примером из другой темы
Правильный ответ
  • Собрать минимальный пример и проверить нормальный и ошибочный сценарий

В самостоятельном формате сначала нужен маленький проверяемый пример, а уже потом усложнение.

2. Зачем в модуле "Модуль 1. Python с нуля и рабочая среда" вести заметку ошибок и решений?
Варианты
  • Чтобы превратить практику в личную методичку и быстрее повторять решения
  • Чтобы не запускать проект до конца раздела
  • Чтобы хранить секреты и пароли в открытом виде
  • Чтобы заменить проверку результата
Правильный ответ
  • Чтобы превратить практику в личную методичку и быстрее повторять решения

Заметка помогает быстрее повторять команды, видеть типовые сбои и переносить решения в следующий день.

3. Какой результат должен появиться после дня "Переменные, строки и числа"?
Варианты
  • Вы понимаете разницу между строкой и числом и умеете выводить расчет.
  • Только список случайных ссылок без практического файла
  • Незавершенный пример без проверки запуска
  • Удаление предыдущих результатов модуля
Правильный ответ
  • Вы понимаете разницу между строкой и числом и умеете выводить расчет.

Каждый день должен оставлять проверяемый фрагмент, который можно встроить в общую сборку.

4. Что лучше сделать перед усложнением "набор маленьких Python-скриптов, которые запускаются и объясняют базу языка"?
Варианты
  • Проверить простой сценарий, добавить ошибочный случай и сохранить рабочую версию
  • Смешать все идеи сразу в одном файле
  • Убрать все проверки, чтобы код был короче
  • Оставить только внешний вид без рабочей логики
Правильный ответ
  • Проверить простой сценарий, добавить ошибочный случай и сохранить рабочую версию

Стабильность появляется, когда простой сценарий уже проверен и есть понятный путь восстановления после ошибки.

5. Что является полезным итогом модуля после темы "Функции и повторяемая логика"?
Варианты
  • Проверенный фрагмент, который двигает итоговый проект: мини-сервис на Python: обработка заявок, каталог данных, сохранение в файл/SQLite и простой API-сценарий
  • Любой файл без связи с проектом
  • Только пересказ терминов без практики
  • Отказ от дальнейшей сборки
Правильный ответ
  • Проверенный фрагмент, который двигает итоговый проект: мини-сервис на Python: обработка заявок, каталог данных, сохранение в файл/SQLite и простой API-сценарий

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