Памятка по синтаксису Python для школьника на одной странице

Справочникобновлено 07.10.20269 мин чтенияесть тренажёр

Шпаргалка по Python — это одна страница, где собраны все конструкции, нужные школьнику для первых программ и задания 16 ОГЭ: ввод и вывод, типы, условия, циклы, списки, строки, словари и функции. Каждая тема — короткая таблица и пример, который можно сразу запустить в редакторе.

Загружаем…

Как пользоваться шпаргалкой по Python

Эта памятка — не учебник, а подсказка во время работы: держите её открытой рядом с редактором и заглядывайте, когда забыли, как пишется срез или метод словаря. Подробные объяснения — по ссылкам на уроки.

Темы идут в том порядке, в каком их обычно изучают: сначала print и input, потом условия и циклы, затем структуры данных и функции. В редакторе выше уже собрана мини-программа, в которой встречается почти всё из этой страницы. Нажмите «▶ Запустить» или Ctrl+Enter, потом поменяйте возраст или добавьте элемент в список и посмотрите, как изменится вывод. Черновик сохраняется в браузере, поэтому эксперименты не пропадут при перезагрузке страницы.

Два правила относятся ко всему, что ниже. Первое: после строк с if, for, while, def ставится двоеточие, а следующие строки сдвигаются на 4 пробела — так рекомендует руководство PEP 8[1]. Второе: Python различает регистр, и Print для него не то же самое, что print.

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

Ввод и вывод

Функция print выводит значения, input читает строку с клавиатуры. Число из ввода всегда нужно преобразовать: input возвращает текст, даже если человек набрал цифры.

ЗаписьЧто делает
print("Привет")Выводит строку
print(a, b, sep=", ")Выводит через запятую
print(x, end=" ")Не переводит строку в конце
print(f"Итого: {s}")Подставляет значение в строку
s = input()Читает строку
n = int(input())Читает целое число
a, b = map(int, input().split())Два числа в одной строке через пробел

Последняя строка таблицы встречается в олимпиадных задачах, где данные приходят одной строкой. В задании 16 ОГЭ числа обычно вводятся по одному в строке, и хватает int(input()) в цикле. Подробно о форматах ввода — в уроке про ввод данных через input.

Типы данных и преобразования

Школьнику нужны 5 типов: целые числа int, дробные float, строки str, логические bool и списки list. Узнать тип помогает type(x).

ТипПример значенияПеревод в этот тип
int42, -7int("42"), int(3.9) → 3
float3.14, 2.0float("2.5")
str"кот", '7'str(15) → "15"
boolTrue, Falsebool(0) → False
list[1, 2, 3]list("абв") → ['а', 'б', 'в']

Арифметика: + - * / как в математике, // — деление нацело, % — остаток, ** — степень. Обычное деление всегда даёт float: 6 / 2 равно 3.0. По федеральной образовательной программе переменные разных типов и присваивание изучают в 8 классе, так что этот раздел шпаргалки по Python пригодится уже на первых уроках программирования. Все знаки и порядок действий собраны на отдельной странице про операторы Python и их приоритет.

Условия if, elif, else

Если программа должна выбрать одно из действий, нужен if; дополнительные проверки пишут через elif, а случай «всё остальное» — через else. Сравнения: == != < > <= >=, связки: and, or, not.

ball = 78
if ball >= 85:
    print("отлично")
elif ball >= 60:
    print("хорошо")
else:
    print("нужно подтянуть")
if 10 <= ball <= 100 and ball % 2 == 0:
    print("чётный балл в диапазоне")

Python проверяет условия сверху вниз и выполняет только первую подходящую ветку. Поэтому порядок важен: если поставить ball >= 60 первым, оценка «отлично» не выведется никогда. Цепочка 10 <= ball <= 100 работает как в математике.

Циклы for и while

Цикл for повторяет действия для каждого элемента последовательности, while — пока условие истинно. break выходит из цикла, continue переходит к следующему шагу.

ЗаписьЗначения
for i in range(5):0, 1, 2, 3, 4
for i in range(1, 6):1, 2, 3, 4, 5
for i in range(10, 0, -2):10, 8, 6, 4, 2
for ch in "кот":к, о, т
while n > 0:пока n больше нуля
n = 4096
cifr = 0
while n > 0:
    n //= 10
    cifr += 1
print(cifr)

Этот пример считает цифры числа: на каждом шаге отбрасывается последняя цифра, пока число не станет нулём. Правая граница range не входит в последовательность, это главная ловушка новичков. В while обязательно меняйте переменную из условия, иначе цикл станет бесконечным.

Списки

Список — это упорядоченный набор значений в квадратных скобках. Нумерация элементов начинается с 0, а отрицательный индекс считает с конца: a[-1] — последний элемент.

ЗаписьЧто делает
a = [3, 1, 4]Создаёт список
a[0], a[-1]Первый и последний элемент
a.append(5)Добавляет в конец
a.pop()Убирает и возвращает последний
len(a), sum(a)Длина и сумма
min(a), max(a)Наименьший и наибольший
sorted(a), a.sort()Новый отсортированный / сортировка на месте
a[1:3]Срез: элементы с индексами 1 и 2
x in aЕсть ли элемент в списке

Списки изучают в 9 классе как одномерные массивы — так эта тема названа в федеральной образовательной программе основного общего образования[2]. Обход списка с индексом удобно писать через for i, x in enumerate(a):. Больше примеров — в уроке про списки в Python.

Строки

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

ЗаписьРезультат для s = "Черепаха"
len(s)8
s[0], s[-1]"Ч", "а"
s[:4]"Чере"
s[::-1]"ахапереЧ" (наоборот)
s.upper(), s.lower()"ЧЕРЕПАХА", "черепаха"
s.count("е")2
s.replace("а", "о")"Черепохо"
"а б в".split()['а', 'б', 'в']
"-".join(["а", "б"])"а-б"

Срез s[a:b] берёт символы с индекса a до b, не включая b, — то же правило, что у range. Проверка подстроки пишется через in: "пах" in s даёт True.

Словари и функции

Словарь хранит пары «ключ — значение» в фигурных скобках, функция — именованный кусок кода, который создают словом def и вызывают по имени. Это 2 темы, на которых школьная программа обычно заканчивается.

ceny = {"хлеб": 50, "молоко": 90}
ceny["сыр"] = 300
print(ceny.get("чай", 0))
for tovar, cena in ceny.items():
    print(tovar, cena)

def skidka(cena, procent=10):
    return cena - cena * procent // 100

print(skidka(300), skidka(300, 50))

Метод get возвращает значение по умолчанию, если ключа нет, и спасает от KeyError. Параметр функции со значением по умолчанию (procent=10) можно не передавать. Слово return возвращает результат и сразу завершает функцию; функция без return возвращает None.

Когда шпаргалка не поможет

Не стоит ждать, что таблица с записью конструкций научит решать задачи: она напоминает форму, но не подсказывает идею. Вот 4 ситуации, где нужен другой подход.

  • Непонятна сама задача. Если после 2–3 прочтений условия неясно, что считать, сначала решите пример вручную на бумаге.
  • Программа падает с ошибкой. Таблица не прочитает Traceback за вас; начните с последних 2 строк сообщения, где указаны номер строки и тип ошибки, — подробно это разобрано на странице про чтение ошибок Python.
  • Экзамен. На ОГЭ и ЕГЭ шпаргалками пользоваться нельзя, поэтому 16-е задание стоит решать без подсказок заранее.
  • Ответ почти верный. Если не проходит 1 тест из 5, ищите граничный случай: ноль, пустой список, одно число.

Миф: «Если выучить шпаргалку по Python наизусть, программировать станет легко». Это не подтверждается практикой: синтаксис — лишь запись, а трудность в том, чтобы разбить задачу на шаги. Исследования показывают, что самопроверка закрепляет лучше перечитывания[3], поэтому полезнее решать задачи, чем заучивать таблицы.

Миф: «Одна шпаргалка подойдёт для любой версии Python». Для Python 3 это почти так, но для старого Python 2 — нет: там иначе работают print и деление, а сама версия не поддерживается с 1 января 2020 года. Универсальной памятки для обеих версий не существует.

Чего делать нельзя

Нельзя копировать запись из памятки, не понимая, что она делает: одна пропущенная скобка или лишний отступ — и программа не запустится. Вот шесть правил для работы со справкой.

  • Нельзя забывать двоеточие после if, for, while, def.
  • Не следует смешивать табы и пробелы в отступах — используйте 4 пробела.
  • Не стоит складывать строку с числом без str() или f-строки.
  • Не допускается обращаться к индексу, равному длине списка: последний элемент — a[len(a) - 1].
  • Не стоит писать a = a.sort() — в переменной окажется None.
  • Не следует подсматривать в решение задачи до того, как попробовали сами хотя бы 10 минут.

Источники

[1] van Rossum G., Warsaw B., Coghlan N. PEP 8 — Style Guide for Python Code. Python Software Foundation, 2001.

[2] Приказ Минпросвещения России от 18.05.2023 № 370 «Об утверждении федеральной образовательной программы основного общего образования».

[3] Roediger H. L., Karpicke J. D. Test-enhanced learning: Taking memory tests improves long-term retention // Psychological Science. 2006. Vol. 17, № 3. P. 249–255.

[4] The Python Tutorial (официальная документация Python 3). Python Software Foundation.

Вопросы и ответы

Можно ли распечатать эту шпаргалку по Python?

Да, страница печатается из браузера обычной командой печати. Таблицы занимают немного места, а примеры кода лучше распечатать вместе с ними.

Чем памятка отличается от документации?

Официальная документация Python описывает язык полностью и точно, но она большая и написана для взрослых. Здесь собрано только то, что нужно школьнику для первых задач.

Какие темы учить первыми?

Вывод, ввод, переменные и арифметика, затем условия и циклы. Списки и строки — после того, как циклы стали понятны, словари и функции — в конце.

Подойдёт ли страница для подготовки к ОГЭ?

Как повторение синтаксиса — да: задание 16 решается конструкциями из первых пяти разделов. Но готовиться нужно на задачах, а не на таблицах.

Работают ли примеры в IDLE?

Да, все примеры написаны для Python 3 и работают в IDLE так же, как в редакторе на сайте. Скопируйте код в новый файл и нажмите F5.

Почему в примерах имена латиницей?

Python разрешает русские имена переменных, но латиница — общепринятая практика: такой код поймёт любой программист, и не будет путаницы между русской «с» и латинской «c».