Кратко: Функция print() — встроенный инструмент Python для вывода данных на экран: строк, чисел, списков и других объектов. Она принимает несколько аргументов через запятую, поддерживает параметры sep, end, file и flush, а форматировать вывод можно f-строками или методом .format(). Ниже — рабочие примеры кода, сравнительная таблица параметров, разбор типичных ошибок и ответы на частые вопросы.
Функция встречается в каждом Python-проекте — от учебного скрипта до продакшн-бэкенда. Если нужна разработка бэкенда на Python под ваш продукт — команда YuSMP Group поможет с архитектурой, код-ревью и запуском в прод.
Введение
Python — один из самых массовых языков разработки. По данным Stack Overflow Developer Survey 2025 его использовали 57.9% профессиональных разработчиков. Поэтому базовые вещи вроде print() встречаются буквально в каждом проекте, от учебных скриптов до продакшн-инструментов, CLI-утилит и быстрых прототипов. Если вдруг в наследуемом коде вам попадётся Python 2, важно помнить, что Python2 официально “снят с поддержки” с 1 января 2020, и развивать/чинить его больше не будут — поэтому современное руководство логично строить вокруг Python 3.
Функция print в Python — одна из первых, с которой знакомится любой начинающий программист. Её основная задача — выводить информацию на экран, будь то строки, числа, списки или другие объекты. Функция print используется практически в каждом проекте, независимо от его масштаба: от простых скриптов до сложных программных комплексов.
Вывод данных — важнейший элемент в разработке, отладки и тестировании программ. Без функции print было бы сложно понять, какие значения имеют переменные в тот или иной момент выполнения программы, правильно ли работает тот или иной алгоритм, как происходит обработка пользовательского ввода. Благодаря простоте использования и высокой гибкости функция print остаётся незаменимым инструментом как для новичков, так и для профессионалов.
В Python функция print обладает множеством возможностей настройки. Помимо базового вывода текста, она позволяет изменять формат вывода, управлять разделителями между элементами, перенаправлять вывод в файлы, работать с буферизацией и использовать более сложные схемы форматирования строк.
Простейший пример использования функции:
print("Привет, мир!")Этот код выводит строку "Привет, мир!" в стандартный поток вывода — обычно это окно консоли или терминала. Такой простой пример показывает, насколько легко начать работу с выводом данных в Python.
Нужна разработка мобильного приложения или сайта?
Заполните форму и мы свяжемся с вами в течение 24 часов. Подробно разберём вашу задачу, предложим оптимальное решение реализации, расскажем о сроках и стоимости.
Обсудить проектНужны разработчики в команду?
Подберём инженеров нужного стека под ваш проект — быстрый старт.
Как вывести данные на экран
Чтобы вывести данные на экран, необходимо использовать функцию, передав ей аргументы, которые должны быть отображены. Функция автоматически преобразует объекты в строку, если это необходимо.
Пример:
name = "Алексей"
age = 30
print("Имя:", name, "Возраст:", age)
Этот код выведет: Имя: Алексей Возраст: 30. Функция автоматически добавляет пробелы между аргументами.
Что нужно сделать для вывода на экран нескольких значений?
Для вывода нескольких значений достаточно передать их через запятую в функцию. Python объединит их в одну строку, вставляя между ними пробелы.
Пример:
x, y, z = 5, 10, 15
print(x, y, z)
Результат выполнения: 5 10 15. Функция справляется с разными типами данных, преобразуя их к строковому виду.
Также можно использовать оператор конкатенации строк:
first_name = "Иван"
last_name = "Петров"
print(first_name + " " + last_name)
В этом случае добавляется пробел вручную между строками. Учтите: конкатенация работает только со строками — print("Итого: " + 100) вызовет TypeError, для чисел сначала понадобится str() или f-строка.
Аргументы функции print
Функция обладает множеством настроек благодаря аргументам. Основные аргументы функции:
- sep — разделитель между переданными значениями;
- end — символ, который будет добавлен в конце вывода;
- file — объект файла для вывода;
- flush — принудительная очистка буфера вывода.
Рассмотрим каждый аргумент отдельно с примерами кода.
Сравнение параметров print: sep, end, file и flush
Каждый параметр отвечает за свою часть вывода и не пересекается с остальными — их можно комбинировать в одном вызове. Для быстрого ориентира — таблица со значением по умолчанию и типичным сценарием использования.
| Параметр | По умолчанию | Что делает | Когда использовать |
|---|---|---|---|
sep | ' ' (пробел) | Разделитель между переданными аргументами | Вывод в формате CSV, дат через дефис, компактных списков |
end | '\n' | Символ(ы) в конце вывода | Печать в одну строку в цикле, прогресс-бар без переноса |
file | sys.stdout | Поток, куда направляется вывод | Логирование в файл, вывод ошибок в sys.stderr |
flush | False | Принудительная очистка буфера | Вывод в реальном времени: прогресс, стриминг логов |

Sep
Аргумент sep задаёт строку-разделитель между аргументами. По умолчанию используется пробел. Можно изменить его на любой символ или строку.
Пример:
print("apple", "banana", "cherry", sep=", ")
Вывод будет выглядеть так: apple, banana, cherry.
Ещё пример использования:
print(2025, 4, 28, sep="-")
Результат: 2025-4-28. Функция позволяет гибко настраивать разделители между элементами вывода.
File
Аргумент file позволяет направить вывод функции не на экран, а в файл или другой поток. Обычно это используется для записи логов.
Пример записи в файл:
with open('output.txt', 'w') as f:
print("Это будет записано в файл.", file=f)
В результате в файле output.txt появится строка: Это будет записано в файл.
Таким образом, функция может использоваться не только для вывода на экран, но и для работы с файлами. Тот же приём применяют для разделения потоков — обычный вывод идёт в sys.stdout, а ошибки и предупреждения удобно направлять в sys.stderr:
import sys
print("Обычное сообщение")
print("Ошибка: файл не найден", file=sys.stderr)
Flush
Аргумент flush принудительно очищает буфер вывода. По умолчанию flush=False, что означает, что данные могут оставаться в буфере до его автоматической очистки. Установка flush=True заставляет Python немедленно отправить данные на вывод.
Пример:
import time
for i in range(3):
print(i, flush=True)
time.sleep(1)
Каждое число будет выводиться с задержкой в одну секунду. Функция print с flush=True полезна при выводе данных в реальном времени — например, для прогресс-бара или живых логов в консоли.
End
Аргумент end управляет тем, что будет добавлено в конец вывода. По умолчанию это символ новой строки (\n). Его можно изменить на любой другой текст.
Пример:
print("Привет,", end=" ")
print("мир!")
Результат: Привет, мир!. Благодаря аргументу end можно контролировать форматирование вывода в Python.
Другой пример:
for i in range(5):
print(i, end="; ")
Вывод: 0; 1; 2; 3; 4;. Здесь функция print помогает выводить элементы в одной строке.
Использовать функцию print для получения ввода от пользователя в Jupyter Notebook
Хотя основная задача функции — это вывод информации, она часто используется вместе с функцией input, особенно в Jupyter Notebook. Например, сначала можно вывести сообщение с помощью print, а затем запросить данные у пользователя.
Пример:
print("Введите ваше имя:")
name = input()
print("Привет,", name)
В Jupyter Notebook это особенно удобно для пошагового общения с пользователем.
Более сложный пример:
print("Введите два числа:")
a = int(input())
b = int(input())
print("Сумма:", a + b)
Такую комбинацию часто используют для обучения основам работы с вводом и выводом в Python.
Форматирование вывода: f-строки и метод format
С Python 3.6 самый быстрый и читаемый способ подставить переменные в строку — f-строка: перед кавычками ставится буква f, а имя переменной пишется прямо внутри фигурных скобок.
name = "Иван"
age = 25
print(f"Меня зовут {name} и мне {age} лет.")
Вывод: Меня зовут Иван и мне 25 лет. Внутри фигурных скобок можно писать не только имена переменных, но и выражения:
price = 1999.5
print(f"Цена со скидкой: {price * 0.9:.2f} ₽")
Спецификатор :.2f после двоеточия округляет число до двух знаков после запятой — Цена со скидкой: 1799.55 ₽.
До появления f-строк для той же задачи использовали метод .format() — он остаётся рабочим и встречается в старом коде:
print("Меня зовут {} и мне {} лет.".format(name, age))
Вывод: Меня зовут Иван и мне 25 лет.
Также можно указывать позиции:
print("Возраст: {1}, Имя: {0}".format(name, age))
Результат: Возраст: 25, Имя: Иван.
Или использовать именованные параметры:
print("Имя: {n}, Возраст: {a}".format(n=name, a=age))
Для новых проектов PEP 498 и практика сообщества рекомендуют f-строки: они короче, быстрее на выполнении и меньше подвержены ошибкам с порядком аргументов, чем .format().
Какие типичные ошибки допускают при использовании print()?
Большинство ошибок с print связаны не с самой функцией, а с непониманием того, что она возвращает и как работает с типами данных.
- Синтаксис Python 2. Конструкция
print "текст"без скобок — это Python 2, который официально не поддерживается с 1 января 2020 года. В Python 3 print — функция, скобки обязательны. - print() возвращает None. Функция ничего не возвращает — она только печатает. Код вида
x = print("привет")присвоит переменной x значение None, а не строку. - Смешивание типов без преобразования.
print("Итого: " + 100)вызовет TypeError — Python не складывает строку и число автоматически. Нуженstr(100)или f-строкаf"Итого: {100}". - print в проде вместо логирования. Для отладки на локальной машине print удобен, но в продакшн-коде вывод стоит направлять через модуль
logging— он умеет уровни важности, ротацию файлов и не теряется при перенаправлении вывода. - Забытый flush в стриминге. Если вывод перенаправлен в файл или пайп, данные могут «зависать» в буфере, пока их не наберётся достаточно. Для вывода в реальном времени нужен
flush=True.

Часто задаваемые вопросы о функции print в Python
- Что делает функция print() в Python?
- print() выводит переданные ей данные — строки, числа, списки и другие объекты — в стандартный поток вывода, обычно это консоль или терминал. Перед выводом Python автоматически преобразует объекты в строку.
- Как вывести несколько переменных в одной строке?
- Передайте их через запятую:
print(a, b, c). Python подставит между ними пробел (или другой разделитель черезsep) и выведет всё одной строкой. - Чем f-строка отличается от print("текст", переменная)?
- Аргументы print() дают готовый разделитель-пробел между значениями, а f-строка собирает одну строку вручную с полным контролем над форматированием — округлением чисел, выравниванием, вложенными выражениями внутри
{}. - Как вывести print без перехода на новую строку?
- Измените аргумент end:
print("текст", end="")или, например,end=" ". По умолчанию end равен символу переноса строки. - Почему print не выводит данные сразу?
- Вывод может задерживаться буферизацией потока — особенно при перенаправлении в файл или пайп. Добавьте
flush=True, чтобы принудительно отправить данные немедленно. - Можно ли записать вывод print в файл вместо консоли?
- Да, через аргумент file:
print("текст", file=open('log.txt', 'a'))— передайте уже открытый файловый объект. Так же можно направить вывод вsys.stderrдля ошибок.
Подытожим
Функция print в Python является одним из важнейших инструментов для вывода информации. Она поддерживает множество возможностей:
- выводит один или несколько аргументов;
- позволяет задавать разделители с помощью sep;
- изменяет окончание вывода с помощью end;
- направляет данные в файл или sys.stderr через file;
- обеспечивает немедленный вывод благодаря flush;
- интегрируется с вводом данных в Jupyter Notebook;
- форматирует строки через f-строки или метод format.
Примеры использования print охватывают как простые учебные задачи, так и профессиональные проекты — от учебных скриптов до отладки продакшн-кода. Знание всех возможностей этой функции значительно упрощает разработку программ на Python.
Найдем лучшее решение вашей задачи
Дальше — практика
Больше услуг тутОбсудим ваш проект?
Соберём команду под вашу задачу и оценим проект за 2 дня — бесплатно.




