Что нужно для первого урока
Для урока нужно 3 вещи: компьютер с браузером и клавиатурой, 15 минут без спешки и эта страница. Устанавливать ничего не надо — редактор над текстом сразу запускает код.
Посмотрите на редактор вверху страницы. Слева — вкладка с именем файла и поле для кода, справа — окно «Вывод», где появляется результат. Кнопка «▶ Запустить» выполняет программу; то же делает сочетание Ctrl+Enter. Кнопка «Сбросить» возвращает исходный код, если что-то пошло не так. Если программа просит что-то ввести, под выводом откроется поле ввода. Черновик сохраняется в браузере, так что закрыть вкладку не страшно.
Удобнее всего, если ребёнок печатает сам, а взрослый сидит рядом и задаёт вопросы. Почему именно Python? Его создал Гвидо ван Россум, первая публичная версия вышла в 1991 году, а сейчас развитием языка занимается Python Software Foundation. Запись в нём короткая, а по федеральной образовательной программе Python входит в список языков, на которых изучают программирование с 8 класса. Учить стоит именно Python 3: вторая версия не поддерживается с 2020 года. Копировать примеры не стоит: набирая код руками, ребёнок замечает кавычки, скобки и запятые, а именно они чаще всего ломают программу.
| Минуты | Шаг | Что нового узнаёт ребёнок |
| 0–3 | Приветствие одной строкой | Команда print, кавычки, запуск |
| 3–6 | Несколько строк и арифметика | Программа выполняется сверху вниз, числа без кавычек |
| 6–9 | Переменная | Имя, знак =, хранение значения |
| 9–12 | Ввод с клавиатуры | Команда input, ответ пользователя |
| 12–15 | Мини-диалог | Ввод числа через int, сборка всего вместе |
Шаг 1. Первая программа: одна строка print
Команда print — это способ попросить компьютер показать текст или число. Текст пишут в кавычках внутри круглых скобок, и это уже готовая первая программа.
Сотрите всё в редакторе и наберите одну строку. Нажмите «▶ Запустить».
print("Привет, мир!")
Привет, мир!
Поздравляем: компьютер выполнил вашу команду. Каждую новую строку стоит запускать сразу, не дожидаясь, пока программа станет длинной: так ошибку легче найти. Теперь поменяйте текст в кавычках на своё имя или любимую фразу и запустите снова. Обратите внимание: сами кавычки на экран не выводятся, они лишь показывают компьютеру, где начинается и заканчивается текст. Если забыть одну кавычку или скобку, появится сообщение об ошибке — об этом ниже.
Шаг 2. Несколько строк и арифметика
Программа — это последовательность команд, и Python выполняет их строго сверху вниз, по одной. Числа при этом пишут без кавычек, и компьютер умеет их считать.
print("Сейчас я посчитаю")
print(2 + 3)
print(7 * 8)
print("2 + 3")
Сейчас я посчитаю
5
56
2 + 3
Сравните вторую и последнюю строки. В первом случае Python видит числа и складывает их. Во втором видит текст в кавычках и печатает его как есть. Это первое важное различие, которое стоит запомнить: в кавычках — текст, без кавычек — числа и команды. Попробуйте поменять порядок строк и посмотрите, как изменится вывод. Ставить кавычки вокруг чисел, которые нужно посчитать, не следует. Подробнее о возможностях вывода — на странице про функцию print в Python.
Шаг 3. Переменная — коробка с именем
Переменная — это имя, под которым программа запоминает значение: текст или число. Значение кладут в переменную знаком «равно», а потом используют по имени.
imya = "Маша"
print("Привет,", imya)
print("Как дела,", imya + "?")
Привет, Маша
Как дела, Маша?
Знак = в Python означает не «равно» из математики, а «положи в коробку». Справа — что положить, слева — подпись на коробке. Если написать имя переменной без кавычек, Python подставит её содержимое. Если в кавычках — напечатает само слово.
Запятая внутри print выводит значения через пробел, а знак + склеивает строки вплотную. Поменяйте «Маша» на своё имя — программа поздоровается уже с вами, хотя остальные строки не изменились. В этом и сила переменных. Больше примеров — в статье о переменных в Python.
Шаг 4. Ввод с клавиатуры
Команда input — это способ спросить пользователя и получить его ответ. Текст в скобках станет вопросом, а то, что человек напечатает, программа положит в переменную.
imya = input("Как тебя зовут? ")
print("Приятно познакомиться,", imya)
Запустите программу. Под выводом появится поле ввода: напечатайте имя и нажмите Enter. Программа ответит, подставив именно то, что вы ввели. Это и есть первый настоящий диалог человека и компьютера: программа больше не говорит одно и то же, она реагирует на ответ.
Обратите внимание на пробел перед закрывающей кавычкой в вопросе: без него ответ прилипнет к знаку вопроса. Мелочь, но из таких мелочей складывается аккуратный код; руководство PEP 8 как раз описывает подобные правила оформления. Как ещё можно использовать ввод, разобрано в материале о функции input.
Шаг 5. Мини-диалог из 6 строк
Мини-диалог — это программа, которая задаёт несколько вопросов, запоминает ответы и что-то считает. Для этого нужен ещё один приём: превратить введённый текст в число командой int.
imya = input("Как тебя зовут? ")
print("Привет,", imya + "!")
let = int(input("Сколько тебе лет? "))
print("Через 10 лет тебе будет", let + 10)
eda = input("Какая твоя любимая еда? ")
print("Я тоже люблю", eda + ".")
Как тебя зовут? Петя
Привет, Петя!
Сколько тебе лет? 11
Через 10 лет тебе будет 21
Какая твоя любимая еда? пицца
Я тоже люблю пицца.
Всё, что вводит пользователь, Python получает как текст — даже если человек набрал цифры. Без int сложить возраст с числом не получится: Python не складывает строку с числом. Чтобы прибавить к возрасту 10, текст «11» нужно превратить в число 11 — это делает int. Такая же программа уже стоит в редакторе вверху страницы, запустите её и ответьте на вопросы. А потом добавьте свой вопрос: про любимый цвет, питомца или игру.
Если появилась ошибка
Ошибка в первой программе — это нормально: почти каждый новичок забывает кавычку или скобку. Редактор показывает сообщение и подсказку на русском со ссылкой на разбор, а номер строки помогает найти место.
| Что написано | Ошибка | Как исправить |
print("Привет) | SyntaxError | Закрыть кавычку перед скобкой |
Print("Привет") | NameError | Писать print с маленькой буквы |
print(Привет) | NameError | Взять текст в кавычки |
"Мне " + 11 | TypeError | Склеивать только строки или выводить через запятую |
Ввод «десять» в int(input()) | ValueError | Вводить число цифрами |
Читать сообщение стоит снизу вверх: в последней строке — название ошибки, выше — номер строки. Официальная документация Python описывает каждое из этих исключений, но для начала хватит подсказок редактора[1]. Самая частая ошибка — SyntaxError, ей посвящена отдельная страница про SyntaxError в Python.
Мифы о первой программе
Миф — это убеждение, которое мешает начать. О старте в программировании их два главных, и оба не подтверждаются опытом.
«Чтобы написать программу, нужно сначала выучить много теории». Это не так: работающий код получается в первую же минуту, а теория лучше ложится на уже знакомые примеры.
«Если программа выдала ошибку, значит, у ребёнка нет способностей». Такой связи не существует: ошибки делают все программисты, и умение их исправлять — главный навык, а не признак неудачи.
Когда этот урок не подходит
Урок с текстовым кодом не подходит, если ребёнку пока трудно читать и печатать или если он хочет сразу анимацию. Вот 4 ситуации, когда лучше начать иначе.
- Ребёнку 6–8 лет. Начните с блоков в Scratch или с игр без компьютера — набирать код пока тяжело.
- Ребёнок ищет на клавиатуре каждую букву дольше 5 секунд. Сначала немного потренируйте печать.
- Нет 15 спокойных минут. В спешке урок превратится в копирование без понимания.
- Есть только смартфон. На экране 5–6 дюймов набирать скобки и кавычки неудобно.
Чего делать нельзя
Нельзя превращать первый урок в экзамен. Эти правила помогают, чтобы первая программа стала началом, а не последним опытом.
- Нельзя набирать код за ребёнка — даже если он печатает медленно.
- Не следует сразу объяснять типы данных и функции: хватит print, input и переменной.
- Не стоит исправлять ошибку молча — попросите прочитать сообщение вслух.
- Нельзя ругать за опечатки: опечатки — обычная часть программирования.
- Не следует растягивать урок, если ребёнок устал: закончите на работающей программе.
Что делать дальше
После первого урока стоит закрепить материал короткими занятиями 2–3 раза в неделю и перейти к условиям и циклам. Новые темы лучше давать по одной.
- Свой диалог. Придумать программу-анкету из 5 вопросов о друге.
- Условие. Научить программу отвечать по-разному: «если возраст больше 12 — …».
- Цикл. Повторить приветствие 3 раза без копирования строк.
- Игра. Собрать «угадай число» — первую игру на Python.
Короткие частые повторения закрепляют материал лучше одного длинного занятия: так работает распределённая практика[2]. А руководство PEP 8 пригодится чуть позже, когда программы станут длиннее[3].
Источники
[1] The Python Tutorial (официальная документация Python 3). Python Software Foundation.
[2] Cepeda N. J., Pashler H., Vul E., Wixted J. T., Rohrer D. Distributed practice in verbal recall tasks: A review and quantitative synthesis // Psychological Bulletin. 2006. Vol. 132, № 3. P. 354–380.
[3] van Rossum G., Warsaw B., Coghlan N. PEP 8 — Style Guide for Python Code. Python Software Foundation, 2001.
Вопросы и ответы
Можно ли писать первую программу на русском?
Текст в кавычках — да, на любом языке. Команды вроде print и input пишутся по-английски, а имена переменных принято писать латиницей.
Почему print, а не «печать»?
Ключевые слова Python английские, их список приводит официальная документация Python. Их немного, и ребёнок запоминает их как термины, примерно как ноты в музыке.
Сохранится ли код, если закрыть страницу?
Черновик хранится в браузере, поэтому при следующем открытии он вернётся. Но в другом браузере или после очистки истории его не будет.
Нужно ли устанавливать Python?
Для первых занятий — нет, установка не нужна. Когда захочется сохранять файлы и работать без интернета, установите Python 3 с официального сайта вместе со средой IDLE.
Сколько лет должно быть ребёнку?
Обычно с 10–11 лет, если ребёнок уверенно читает и находит буквы на клавиатуре. Младшим лучше начать с блоков Scratch, которые разрабатывает MIT Media Lab.
Что делать, если ребёнку стало скучно?
Предложите сделать программу о его интересах: анкету про любимую игру, калькулятор очков, шутливый «предсказатель» будущего.