Функция print() и оператор вывода в Python

Раздел: Основы Python -> Базовые операции

Оператор вывода в Python

Для вывода данных на экран в Python используется функция print(). Она принимает произвольное количество аргументов и выводит их в стандартный поток вывода.

Основной способ вывода — вызов print() без дополнительных параметров. По умолчанию аргументы разделяются пробелом, а после вывода добавляется символ новой строки.

print('Привет, мир!')

логические операции в языке python (логические операции в python)

Привет, мир!

оператор вывода в языке python (оператор вывода в python)

print(42, 'яблока')
42 яблока

Для настройки разделителя между аргументами используется параметр sep, для изменения завершающего символа — end. Вывод можно направить в файл с помощью file, а принудительно сбросить буфер — flush=True.

print('a', 'b', 'c', sep='-', end='!\n')
a-b-c!

Как вывести несколько значений на одной строке?

Используйте параметр end:

print('Первое значение', end=' ')
print('Второе значение')
Первое значение Второе значение

Проблема: если забыть указать пробел в end, строки сольются. Решение — явно задавать разделитель.

Как убрать пробелы между аргументами в print?

Параметр sep позволяет задать произвольный разделитель, например пустую строку:

print('Python', '3.12', sep='')
Python3.12

Типичная ошибка: путать sep и end. sep разделяет аргументы, end — завершает вывод.

Как направить вывод print в файл?

Укажите параметр file с открытым файловым объектом:

with open('output.txt', 'w') as f:
    print('Строка для файла', file=f)

Проблема: если файл не открыт для записи, возникнет ошибка ValueError. Всегда используйте менеджер контекста with.

Как вывести текст без автоформатирования print?

Воспользуйтесь sys.stdout.write() для низкоуровневого вывода:

import sys
sys.stdout.write('Текст без переноса строки')
Текст без переноса строки

Ошибка: write() не добавляет символ новой строки автоматически, нужно указывать '\n' вручную.

Как вывести переменные внутри строки?

Используйте f-строки (Python 3.6+):

name = 'Анна'
age = 25
print(f'Имя: {name}, возраст: {age}')
Имя: Анна, возраст: 25

Другие способы — метод format() или оператор %:

print('Имя: {}, возраст: {}'.format(name, age))
print('Имя: %s, возраст: %d' % (name, age))

Частая ошибка: забыть преобразовать число в строку при конкатенации (print('Возраст: ' + age)). Используйте запятые или форматирование.

Расширенные примеры вывода

Следующие примеры демонстрируют менее известные возможности и нюансы оператора вывода.

Пример
# Печать с принудительным сбросом буфера (полезно для прогресс-баров)
import time
for i in range(5):
    print(i, end=' ', flush=True)
    time.sleep(0.5)
print()  # перевод строки после цикла
0 1 2 3 4 
Пример
# Вывод с форматированием чисел
pi = 3.1415926535
print(f'Число Пи с двумя знаками: {pi:.2f}')
print(f'В экспоненциальной форме: {pi:e}')
Число Пи с двумя знаками: 3.14
В экспоненциальной форме: 3.141593e+00
Пример
# Печать содержимого словаря в читаемом виде
import pprint
data = {'key1': 'value1', 'key2': [1, 2, 3]}
pprint.pprint(data)
{'key1': 'value1', 'key2': [1, 2, 3]}
Пример
# Вывод с использованием repr для отладки
s = 'строка\nс переносом'
print(repr(s))  # показывает управляющие символы
'строка\nс переносом'
Пример
# Вывод таблицы с фиксированной шириной столбцов
headers = ['Имя', 'Возраст', 'Город']
rows = [['Анна', 25, 'Москва'], ['Иван', 30, 'Санкт-Петербург']]
for row in [headers] + rows:
    print(' | '.join(f'{str(cell):10}' for cell in row))
Имя       | Возраст    | Город      
Анна      | 25         | Москва     
Иван      | 30         | Санкт-Петербург
Пример
# Вывод с использованием logging (более гибкий, чем print)
import logging
logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s')
logging.info('Это информационное сообщение')
logging.error('Это сообщение об ошибке')
INFO: Это информационное сообщение
ERROR: Это сообщение об ошибке

Для продвинутого форматирования строк используйте модуль string:

Пример
from string import Template
t = Template('Привет, $name!')
print(t.substitute(name='Мир'))
Привет, Мир!

Оператор вывода в Python - comments

En
оператор вывода в языке python (python)