Как пользоваться шпаргалкой по 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).
| Тип | Пример значения | Перевод в этот тип |
int | 42, -7 | int("42"), int(3.9) → 3 |
float | 3.14, 2.0 | float("2.5") |
str | "кот", '7' | str(15) → "15" |
bool | True, False | bool(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 — нет: там иначе работают
Чего делать нельзя
Нельзя копировать запись из памятки, не понимая, что она делает: одна пропущенная скобка или лишний отступ — и программа не запустится. Вот шесть правил для работы со справкой.
- Нельзя забывать двоеточие после
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».