Почему Python учат первым
Если спросить школьника, на каком языке он пишет первые программы, чаще всего ответ будет: на Python. На нём же решает задания большинство выпускников, сдающих ЕГЭ по информатике. Разбираемся, откуда взялся этот язык, почему он такой удобный для начала и где он может подвести.
Для 6–11 классов и родителей, которые выбирают кружок программирования.
Как появился Python
В декабре 1989 года нидерландский программист Гвидо ван Россум искал занятие на рождественские каникулы. Он решил написать язык, который будет понятным, как обычный английский текст, и при этом достаточно мощным для настоящей работы. Первая версия вышла в феврале 1991 года.
Название не про змею. Ван Россум любил британское комедийное шоу «Летающий цирк Монти Пайтона» и хотел короткое, немного загадочное имя. Змея на логотипе появилась позже, потому что так проще нарисовать.
Долгое время Python был языком энтузиастов. Взлёт начался в 2010-х годах, когда на нём стали писать анализ данных и машинное обучение. Сегодня Python в разных рейтингах держится на первом или одном из первых мест по популярности в мире.
Чем он удобен для начала
Сравним первую программу, которая выводит приветствие, на двух языках. Так она выглядит на Java:
public class Main { public static void main(String[] args) { System.out.println("Привет!"); } }
А так на Python:
print("Привет!")
В Java новичок должен написать пять строк, смысла половины которых он пока не понимает: класс, публичный, статический, массив строк. В Python одна строка, и каждое слово понятно. Это не значит, что Java плохой язык. Просто для первого знакомства лишние детали отвлекают от главного: от того, как думать алгоритмами.
- Мало служебных слов. Не нужно заранее объявлять тип переменной: x = 5 сразу работает.
- Отступы вместо скобок. Код внутри цикла или условия сдвигают вправо. Получается аккуратно само собой, и структура программы видна глазами.
- Большие числа без ограничений. Python спокойно считает 2 в степени 1000, а во многих языках число просто «переполнится».
- Огромная библиотека. Для графиков, таблиц, игр, работы с сайтами уже есть готовые модули.
Пример: сумма цифр числа
Типичная задача из школьного курса: найти сумму цифр числа. Вот решение, которое читается почти как инструкция на русском языке.
n = int(input()) s = 0 while n > 0: s += n % 10 n //= 10 print(s)
Читаем по строкам: взять число n, завести сумму s, равную нулю. Пока n больше нуля, прибавлять к сумме последнюю цифру (остаток от деления на 10) и отрезать эту цифру (целочисленное деление на 10). В конце вывести сумму. Для числа 2026 программа сложит 6, 2, 0 и 2 и выведет 10.
А можно ещё короче, и это тоже типично для Python:
print(sum(int(c) for c in input()))
Здесь число читается как строка символов, каждый символ превращается в цифру, а цифры складываются. Для обучения полезнее первый вариант, а на экзамене второй экономит время.
Где используют Python
- Искусственный интеллект. Самые популярные инструменты для обучения нейросетей сделаны для Python.
- Анализ данных. Учёные, экономисты и маркетологи считают в нём таблицы и строят графики.
- Сайты и сервисы. Многие крупные видеосервисы и соцсети написаны частично на Python.
- Наука. Им пользуются астрономы, биологи, физики. Даже квантовые компьютеры программируют на Python.
- Автоматизация. Скрипт может сам переименовать тысячу файлов или собрать данные с сайта.
Где Python подводит
Python медленный. Программа на нём может работать в десятки раз дольше, чем такая же на C++. Для большинства задач это неважно, а для игр с тяжёлой графикой или олимпиадных задач с жёстким ограничением времени бывает критично. Поэтому сильные олимпиадники часто переходят на C++.
Вторая особенность в том, что Python прощает многое. Ошибку с типом данных он покажет только при запуске, а не заранее. Новичку это удобно, но в больших проектах приводит к трудноуловимым ошибкам. Поэтому профессионалы дополнительно размечают типы и пишут проверки.
Python на ЕГЭ
ЕГЭ по информатике сдают на компьютере. Участник может выбрать язык программирования из разрешённого списка, и подавляющее большинство выбирает Python. Многие задания, например про перебор вариантов, обработку файла с числами или работу со строками, на Python решаются в несколько строк.
Как решать типичные задания перебором, мы разобрали в статье о Python на ЕГЭ, а системы счисления с проверкой кодом в статье о двоичной системе.
Когда начинать? Для ребёнка 10–12 лет удобно стартовать с визуальных блоков вроде Scratch, а к 12–13 годам переходить на Python. Если цель ЕГЭ, хватит полутора-двух лет регулярных занятий, начиная с 9 или 10 класса.
Дзен Python
В Python спрятана пасхалка. Если написать в нём команду import this, программа выведет «Дзен Python», двадцать коротких принципов, по которым устроен язык. Несколько из них полезны любому, кто пишет код:
- Красивое лучше уродливого.
- Простое лучше сложного.
- Читаемость имеет значение.
- Должен быть один, и желательно только один, очевидный способ сделать это.
Последний принцип хорошо объясняет, почему Python удобен в школе: у одной задачи обычно есть один понятный способ записи, и код разных учеников выглядит похоже.
Разберём на занятии
Занимаемся по всем школьным предметам с 4 по 11 класс: живые занятия, общая доска и домашка, которую проверяет тот же преподаватель.
Первое занятие бесплатное: можно посмотреть формат вместе с ребёнком и решить, подходит ли он.
Частые вопросы
С какого возраста можно учить Python?
Читать и писать простые программы можно с 10–11 лет, если ребёнок уверенно читает и знает таблицу умножения. Раньше лучше начинать с визуальных блоков, где команды собираются мышкой.
Нужен ли английский, чтобы программировать на Python?
Команд немного, и их запоминают как значки: print, input, while, if. Но для чтения документации и ошибок английский очень помогает, так что программирование хорошо мотивирует учить язык.
Python 2 и Python 3 это разные языки?
Почти. Python 3 вышел в 2008 году и несовместим со старой версией в мелочах. Python 2 официально перестали поддерживать в 2020 году, учить нужно третью версию.