API — это способ одной программы попросить данные у другой. В курсе Python эта тема стоит на ступени «Игры и боты» для 10–14 лет: библиотека requests, формат JSON и получение данных из открытых источников — погоды, курсов валют.
Выглядит буднично, а на деле это поворотный момент: до этой темы программа ребёнка знала только то, что ребёнок в неё вписал.
Чем программа без API отличается от программы с ним
Вся предыдущая работа — переменные, циклы, функции, файлы — это замкнутый мир. Калькулятор считает то, что ввели. Игра работает по правилам, которые прописали.
С API программа впервые узнаёт что-то о внешнем мире. Скрипт, показывающий сегодняшнюю погоду, делает то, что ребёнок не мог заложить заранее: завтра он покажет другое, и это будет правдой.
С этого момента становится понятно, как устроены приложения в телефоне. Они почти ничего не хранят в себе — они спрашивают.
JSON: формат, в котором приходят данные
Ответ от сервера приходит не готовым текстом, а структурой: вложенные пары «название — значение». Это JSON, и в теме его разбирают отдельно.
Для ребёнка полезно здесь другое, нежели синтаксис. Он видит, что данные бывают упорядочены, и чтобы достать из них нужное, надо понять устройство, а не угадывать. Навык читать чужую структуру понадобится дальше везде — в базах данных, в настройках, в файлах конфигурации.
Куда эта тема ведёт дальше
Сразу после API в программе идут три темы Pygame, а затем Telegram-боты на aiogram. И бот — это, по сути, тоже работа с API: программа обращается к сервису Telegram и отвечает на то, что пришло.
Ещё дальше — подключение модели ИИ через OpenAI API. Для ребёнка, который уже достал погоду из открытого источника, это не магия, а знакомый механизм: отправили запрос, получили ответ, обработали.
На старшей ступени тема вырастает в собственный веб-API на Flask — то есть подросток уже не только запрашивает чужие сервисы, но и делает свой, к которому могут обращаться другие.
Нужны ли платные ключи для учебных заданий?
Для темы про API берут открытые источники — погода, курсы валют. Платные сервисы появляются позже и отдельно, уже осознанно.
Что делать, если сервис не отвечает?
Это нормальная ситуация, и именно поэтому перед API в программе стоит тема об обработке ошибок: try/except, собственные исключения. Работа с внешним миром означает, что что-то может пойти не так — и код должен это предусматривать.
Безопасно ли давать ребёнку доступ к внешним сервисам?
Запросы идут к публичным источникам и не требуют личных данных. Отдельно в программе есть тема о переменных окружения — ключи доступа не пишут в код и не выкладывают в репозиторий.
Коротко
Тема API — момент, когда учебные упражнения превращаются в программы, делающие что-то настоящее. Она короткая по объёму, но именно после неё у ребёнка появляются проекты, которыми пользуются другие люди.
Что из этого выходит за первый год, разобрано отдельно: проекты за первый год обучения. Как тема ИИ разворачивается на всех трёх ступенях — здесь.