December 18, 2024

Функция print() - Вывод информации

Python функция print используется для отображения текста, чисел и переменных в консоль. И в данной статье мы рассмотрим её синтекс и атрибуты.

Базовая функциональность print это вывод текста через двойные или одинарные кавычки:

print("Привет мир")

При выполнении данного кода в консоли будет отображено заданное нами сообщение Привет мир.

Так как в Python все пишется в строку - перенос строки и табуляция доступна через спец символы \n и \t. Вот пример с переносом строки:

print("Переход на\nновую строку")

А ниже с табуляцией:

print("Большой\tпробел")

Также кроме текста, print поддерживает вывод значения переменных:

name = "Виктор"
print(name)

Но, в отличие от текстового вывода (типа str) при печати переменных мы не используем пометки виде кавычек для различия типов. Теперь попробуем скомбинировать два этих формата:

name = "Виктор"
print("Привет", name)

В Python для перечисления элементов мы используем запятую. Прям как в написании - элемент за элементом через запятую.

Также мы можем упростить данный вариант и сделать это с форматированием через фигурные скобки с помощью f:

name = "Виктор"
print(f"Привет {name}")

Данный способ очень гибок и практичен для написания больших текстов.

Всегда между указанными объектами следует один пробел. Далее, мы напишем код для демонстрации целых (int) и десятичных (float) чисел:

print(1, 2.5)

Так как запятые применяются для разделения компонентов, для десятичных чисел используется точки.

Давайте двигаться дальше к sep.

Сокращено с английского sep (separate) это разделить. С помощью данного свойства мы можем задать разделитель между каждым из объектов. Как здесь:

print(1, 2, 3, 4, 5, sep='*')

Следовательно, этому коду мы получим 1*2*3*4*5, потому разделитель равен *. По умолчанию он равен ничему.

Теперь переключимся на end. С данным атрибутом можно задать символ после представленного текста. По умолчанию end равен \n (Переносу строки).

print("Элемент1", end='---')
print("Элемент2")

При проигрывании данного кода, в консоли будет транслировано сообщение Элемент1---Элемент2. Потому что end был ---, но если бы мы его не изменяли текстовые объекты были бы на разных строках.

После всего этого, обратим наше внимание на file и flush.

Параметр file позволяет изменить место вывода. Обычно текст выводится в консоль, но можно указать файл или другой объект для вывода. Например, если мы хотим записать текст в файл, а не в консоль, можно сделать так:

with open("output.txt", "w") as file:
    print("Привет мир", file=file)

В этом примере текст Привет мир будет записан в файл output.txt вместо того, чтобы отображаться в консоли.

Параметр flush в функции print заставляет Python немедленно выводить текст, даже если используется буферизация. Это особенно важно, когда вывод идет в файл или другие потоки, где данные могут накапливаться в памяти. С flush=True текст выводится сразу, без задержек.

Пример с выводом в файл:

with open('output.txt', 'w') as f:
    print("Hello", file=f, flush=True)