Вывод данных на экран с помощью функции print
Синтаксис функции print
Функция print является встроенной функцией Python. Она выводит переданные объекты в стандартный поток вывода или в указанный файловый объект. Параметры функции определяют способ разделения значений и окончание строки.
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)Python вывод print (вывод данных в python)
Основной вариант вызова print передаёт одно или несколько значений через запятую. Python преобразует их в строки и подставляет между ними пробел.
print('Привет, мир!')
print(42)
print(3.14)
print('a', 'b', 'c')
Привет, мир! 42 3.14 a b c
Как вывести несколько значений с нестандартным разделителем?
Параметр sep задаёт строку между объектами.
print(1, 2, 3, sep='-')
print('a', 'b', 'c', sep='')
1-2-3 abc
Как убрать перевод строки после вывода?
Параметр end заменяет стандартный символ новой строки на другую строку. Пустая строка отключает переход на новую строку.
print('Имя:', end=' ')
print('Анна')
print('Загрузка', end='')
print('...')
Имя: Анна Загрузка...
Как направить вывод print в файл?
Параметр file принимает файловый объект, открытый для записи. Текст попадает в файл, а не в консоль.
with open('log.txt', 'w', encoding='utf-8') as f:
print('Запись в файл', file=f)
print(123, file=f)
После выполнения появится файл log.txt с двумя строками. На консоли вывода не будет.
Как принудительно записать данные из буфера?
Параметр flush со значением True очищает буфер после каждого вызова. Это важно для длительных процессов.
print('Шаг 1', flush=True)
Частая ошибка связана с пропуском скобок. В Python 3 вызов print всегда оформляется со скобками. Появляется сообщение SyntaxError: Missing parentheses in call to 'print'. Исправление выглядит так:
print('Нужны скобки')
Другая ошибка возникает при объединении строки и числа без преобразования типа. Возникает TypeError. Для решения используется str() или f-строка.
age = 25
print('Возраст: ' + str(age))
print(f'Возраст: {age}')
Дополнительные примеры вывода
В этом разделе приведены примеры с нестандартными параметрами print и форматированием строк.
Как вывести выровненную строку с числами?
Спецификаторы формата задают ширину поля и количество знаков после запятой.
name = 'Код'
value = 12.34567
print(f'{name:<6}{value:>8.2f}')
Код 12.35
Как увидеть скрытые символы в строке?
Функция repr возвращает строковое представление с видимыми управляющими символами.
value = 'hello\nworld'
print(value)
print(repr(value))
hello world 'hello\nworld'
Как направить сообщение в поток ошибок stderr?
В параметр file передаётся sys.stderr. Такой вывод отделяется от обычных данных программы.
import sys
print('Ошибка', file=sys.stderr)
Ошибка
Как сделать разделитель переменной?
Значение sep можно сохранить в переменную и использовать повторно.
separator = ' -> '
print('a', 'b', 'c', sep=separator)
a -> b -> c
Как распечатать диапазон чисел в одну строку?
Оператор * распаковывает элементы range в отдельные аргументы print.
print(*range(1, 6), sep=', ')
1, 2, 3, 4, 5
Как напечатать буквы без пробелов?
Пустое значение sep убирает все разделители между аргументами.
print('s', 't', 'o', 'p', sep='')
stop
Как вывести вторую строку без дополнительного вызова?
Символ новой строки внутри строкового литерала создаёт перенос при печати.
print('Первая строка\nВторая строка')
Первая строка Вторая строка
Как обновить вывод на одной строке?
Сочетание end='\r' и flush=True возвращает курсор в начало строки и записывает данные сразу.
import time
for i in range(5):
print(f'Шаг {i + 1} из 5', end='\r', flush=True)
time.sleep(0.5)
Шаг 5 из 5
Как использовать старый стиль форматирования?
Оператор % подставляет значение в строку. В современных программах чаще применяется f-строка, но старый стиль ещё встречается.
value = 10
print('Результат: %d' % value)
Результат: 10
Как вывести символы Юникода?
Функция print поддерживает Юникод напрямую, поэтому эмодзи и специальные знаки передаются без изменений.
print('Привет, мир ?')
Привет, мир ?