Что делает функция print в Python
Функция print — это команда «покажи»: она берёт значения в скобках, превращает их в текст и печатает в одну строку, а в конце переходит на новую. Скобки обязательны: без них Python 3 выдаст ошибку.
print("Привет, мир!")
print(42)
Привет, мир!
42
Каждый вызов print в Python начинает новую строку вывода. Поэтому две команды подряд дают две строки, а не одну. В редакторе вверху страницы попробуйте добавить третью строку с вашим именем и нажать «▶ Запустить» — результат появится справа в окне «Вывод».
Слово print — функция, а не особая команда языка. В старом Python 2 писали print "текст" без скобок, но с 1 января 2020 года вторая версия не поддерживается. Если в найденном примере нет скобок, это устаревший код: в Python 3 он вызовет SyntaxError с подсказкой Missing parentheses in call to 'print'. Официальная документация Python описывает именно функцию со скобками[1].
Зачем print в Python нужен на уроках и экзаменах
Print в Python — это единственный способ показать результат программы человеку или проверяющей системе: без вывода даже правильный расчёт останется невидимым. Поэтому функцию изучают в первый же день.
По федеральной образовательной программе основного общего образования программирование на уроках информатики начинается с 8 класса[2], и почти каждая учебная задача заканчивается строкой с ответом. На ОГЭ, по материалам ФИПИ, задание 16 — программа на универсальном языке, и её результат тоже нужно вывести на экран. Автоматическая проверка сравнивает ваш вывод с ожидаемым символ в символ, поэтому лишний пробел или слово «Ответ:» перед числом превращают верное решение в неверное.
Отсюда простое правило: выводите ровно то, что просят в условии, и в том формате, который указан. Если нужно «через пробел», используйте запятые или end; если «каждое с новой строки» — отдельные вызовы. В тренажёрах этого сайта задачи проверяются так же строго, как на экзамене, так что print в Python стоит освоить аккуратно с самого начала.
Как напечатать строки и числа
Текст в print пишут в кавычках, а числа — без них. Это главное правило: кавычки говорят Python, что перед ним строка, а не имя переменной или число.
| Команда | Что выведет | Почему |
print("5 + 3") | 5 + 3 | В кавычках — просто текст |
print(5 + 3) | 8 | Без кавычек — выражение, его вычисляют |
print("5" + "3") | 53 | Плюс склеивает строки |
print(7 / 2) | 3.5 | Обычное деление даёт дробь |
print(8 / 2) | 4.0 | Деление всегда даёт дробное число |
print("ха" * 3) | хахаха | Строку можно повторить |
Руководство PEP 8 разрешает оба вида кавычек, просит лишь придерживаться одного стиля. Кавычки бывают одинарные и двойные: print('кот') и print("кот") работают одинаково. Главное — открыть и закрыть одной и той же кавычкой. Двойные удобны, если внутри текста есть апостроф, а одинарные — если в тексте нужны двойные кавычки: print('Он сказал "привет"').
Дробные числа Python печатает через точку, а не через запятую: 3.5, а не 3,5. Если написать print(3,5), функция получит два числа и выведет «3 5» через пробел. Об этом подробнее рассказано в уроке о типах данных.
Несколько значений через запятую
Если перечислить в print несколько значений через запятую, функция выведет их в одну строку и сама поставит между ними пробел. Так удобно смешивать текст и числа без лишних преобразований.
kotov = 3
print("У меня", kotov, "кота")
print("Сумма:", 2 + 3, "Разность:", 2 - 3)
У меня 3 кота
Сумма: 5 Разность: -1
Сравните с плюсом: print("У меня " + kotov + " кота") выдаст ошибку TypeError, потому что строку нельзя сложить с числом. Запятая этой проблемы не знает: print сама превращает каждое значение в текст. Поэтому новичку проще всего пользоваться именно запятыми.
Параметр sep: чем разделять значения
Параметр sep (от английского separator — разделитель) задаёт, что ставить между значениями вместо пробела. По умолчанию sep равен одному пробелу.
print(7, 10, 2026, sep=".")
print("а", "б", "в", sep="")
print("красный", "зелёный", "синий", sep=", ")
print(1, 2, 3, sep="\n")
7.10.2026
абв
красный, зелёный, синий
1
2
3
Обратите внимание на вторую строку: пустой разделитель sep="" склеивает значения вплотную. В последней строке разделитель \n — это перевод строки, поэтому каждое число оказалось на своей строке. Как указано в документации Python, параметр sep пишут в конце, после всех значений, иначе Python решит, что это ещё одно значение, и сообщит об ошибке.
Параметр end: что печатать в конце
Параметр end определяет, чем закончится вывод; по умолчанию это перевод строки \n. Если заменить его, следующий print продолжит ту же строку.
for i in range(1, 6):
print(i, end=" ")
print()
print("Ждём", end="...")
print("готово")
1 2 3 4 5
Ждём...готово
Параметр end особенно полезен в циклах: так числа выводятся в одну строку. Пустой print() после цикла нужен, чтобы перейти на новую строку — иначе следующий вывод прилипнет к последнему числу. Если в задаче просят вывести числа через пробел, удобнее end, а если через запятую — sep. Оба параметра можно использовать одновременно: print(1, 2, sep="+", end="=3\n") выведет «1+2=3».
| Параметр | Значение по умолчанию | Что меняет | Пример |
| sep | пробел | Разделитель между значениями | sep="-" → 1-2-3 |
| end | перевод строки | Окончание вывода | end=" " → всё в одну строку |
F-строки: подставляем значения в текст
F-строка — это строка с буквой f перед кавычками, внутри которой в фигурных скобках можно писать переменные и выражения. Python вычислит их и подставит в текст.
imya = "Петя"
ochki = 85
print(f"{imya} набрал {ochki} очков")
print(f"До сотни осталось {100 - ochki}")
print(f"Пи примерно равно {3.14159:.2f}")
Петя набрал 85 очков
До сотни осталось 15
Пи примерно равно 3.14
Запись :.2f после значения оставляет 2 знака после точки. F-строки удобнее запятых, когда нужно точно управлять пробелами: в тексте «набрал 85 очков» нет лишних промежутков, и ничего не нужно склеивать вручную. Если забыть букву f, фигурные скобки выведутся как есть: {imya} набрал {ochki} очков. Подробно о работе с текстом — в уроке о строках в Python.
Пустая строка, перенос и табуляция
Пустой вызов print() выводит пустую строку — это самый простой способ сделать отступ между блоками текста. Внутри строки работают 2 полезных спецсимвола: \n переносит строку, \t ставит табуляцию.
print("Меню:")
print()
print("1.\tНовая игра\n2.\tВыход")
Меню:
1. Новая игра
2. Выход
Если в тексте нужна сама обратная косая черта, её удваивают: \\. Длинный текст на несколько строк можно записать в тройных кавычках — print выведет его ровно так, как он набран.
Задания на print для самопроверки
Чтобы закрепить тему, выполните 5 заданий в редакторе вверху страницы, а потом сверьте результат с подсказкой в скобках. Сначала попробуйте предсказать вывод в уме и только потом запускайте.
- Визитка. Выведите своё имя, возраст и город тремя строками (3 вызова print).
- Дата. Одной командой выведите 1 9 2026 так, чтобы получилось 1.9.2026 (подсказка: sep).
- Лесенка. Выведите числа от 1 до 5 в одну строку через запятую с пробелом (подсказка: цикл и end).
- Рамка. Нарисуйте из символов # квадрат 4×4, используя умножение строки на число.
- Покупка. Есть переменные с ценой и количеством; выведите f-строкой «Итого: …» с вычисленной суммой.
Если не получается, перечитайте раздел про нужный параметр. Самопроверка «предскажи, потом запусти» закрепляет материал лучше, чем перечитывание готовых примеров: это подтверждают исследования Roediger и Karpicke[3]. Больше задач на вывод с автопроверкой — в уроке о переменных.
Когда print не поможет
Функция вывода не поможет, если нужно не показать данные, а сохранить, вернуть или получить их. В этих 4 случаях нужны другие инструменты.
- Получить ответ пользователя. Вывод работает в 1 сторону — на экран; для ввода есть функция input.
- Вернуть результат из функции. Значение, напечатанное внутри функции, нельзя использовать дальше в 2 + 2: для этого нужен return.
- Сохранить результат надолго. После закрытия программы окно вывода очищается; данные на 100 запусков вперёд хранят в файлах.
- Быстро вывести миллион строк. 1 000 000 вызовов работают заметно медленнее одного вывода, собранного из готовой строки.
Миф: «print и return — одно и то же, ведь оба показывают результат». Это не подтверждается: print только печатает текст на экран, а return передаёт значение из функции обратно в программу. Напечатанное значение нельзя сложить или сравнить.
Миф: «Чем больше print в программе, тем она хуже». Такого правила не существует: временные выводы промежуточных значений — самый простой способ отладки. Их просто убирают, когда ошибка найдена.
Чего делать нельзя
Нельзя забывать, что вывод на экран и вычисление — разные вещи: напечатанное значение не сохраняется само по себе. Вот 6 правил работы с выводом.
- Нельзя писать print без скобок. Это синтаксис Python 2, в третьей версии он даёт SyntaxError.
- Не следует склеивать плюсом строку и число. Используйте запятую, f-строку или str().
- Не стоит ставить sep и end перед значениями. Именованные параметры пишут последними.
- Нельзя путать кавычки. Строка, открытая двойной кавычкой, должна закрываться двойной.
- Не стоит забывать букву f. Без неё фигурные скобки выведутся как обычный текст.
- Не следует оставлять отладочный вывод в готовой программе. Лишние строки собьют проверку задачи.
Если программа упала с красным сообщением, разберитесь с ним на странице про ошибку SyntaxError. А общий план обучения описан в обзоре Python для детей.
Источники
[1] The Python Tutorial (официальная документация Python 3). Python Software Foundation.
[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] van Rossum G., Warsaw B., Coghlan N. PEP 8 — Style Guide for Python Code. Python Software Foundation, 2001.
Вопросы и ответы
Как вывести текст без перехода на новую строку?
Добавьте параметр end="" или end=" ". Следующий вывод продолжит ту же строку.
Почему между значениями появляется пробел?
Так работает разделитель по умолчанию. Чтобы убрать его, напишите sep="", или соберите строку f-строкой.
Как вывести кавычки внутри текста?
Оберните текст в кавычки другого вида: 'Он сказал "да"'. Второй способ — поставить перед кавычкой обратную косую черту.
Можно ли вывести переменную и текст вместе?
Да: через запятую, через f-строку или склейкой с str(). Для новичка удобнее всего запятая или f-строка.
Что вернёт print, если сохранить результат в переменную?
Специальное значение None. Функция только печатает, а полезного результата не возвращает, поэтому сохранять её вызов в переменную бессмысленно.
Работает ли print в Python одинаково в IDLE и на сайте?
Да, основные возможности — несколько значений, sep, end и f-строки — работают одинаково и в IDLE, и в редакторе на странице. Руководство PEP 8 при этом советует не ставить пробелы вокруг знака = у именованных параметров[4].