You are currently viewing Python | Вывод с помощью функции print()

Python | Вывод с помощью функции print()

Функция Python print() выводит сообщение на экран или любое другое стандартное устройство вывода.

Синтаксис: print(value(s), sep= ‘ ‘, end = ‘\n’, file=file, flush=flush)


Параметры: 

value(s) : Любое значение и столько, сколько вам нравится. Будет преобразован в строку перед печатью
sep=’separator’ : (необязательно) Укажите, как разделять объекты, если их несколько.По умолчанию :’ ‘
end=’end’: (необязательно) Укажите, что печатать в конце.По умолчанию : ‘\n’
file : (Необязательно) Объект с методом записи. По умолчанию :sys.stdout
flush : (Необязательно) Логическое значение, указывающее, сбрасывается ли вывод (True) или буферизуется (False). По умолчанию: False
Возвращает: Он возвращает вывод на экран.

Хотя нет необходимости передавать аргументы в функции print (), для этого требуется пустая скобка в конце, которая указывает python выполнить функцию, а не вызывать ее по имени. Теперь давайте рассмотрим необязательные аргументы, которые можно использовать с функцией print ().

Строковые литералы

Строковые литералы в операторе печати python в основном используются для форматирования или оформления отображения определенной строки при печати с помощью функции print ().

  • \n : Этот строковый литерал используется для добавления новой пустой строки при печати инструкции.
  • “” : Пустая кавычка (“”) используется для печати пустой строки.

Пример:

print("ProgramBox \n is best for DSA Content.")

Выход:

ProgramBox  is best for DSA Content.

end= ” ” statement

Ключевое слово end используется для указания содержимого, которое должно быть напечатано в конце выполнения функции print (). По умолчанию он установлен в “\n”, что приводит к изменению строки после выполнения инструкции print ().

Пример: Python print() без новой строки.

# This line will automatically add a new line before the
# next print statement
print ("ProgramBox is the best platform for DSA content")

# This print() function ends with "**" as set in the end argument.
print ("ProgramBox is the best platform for DSA content", end= "**")
print("Welcome to GFG")

Выход:

ProgramBox is the best platform for DSA content
ProgramBox is the best platform for DSA content**Welcome to GFG

Аргумент flush

Операции ввода-вывода в python, как правило, буферизованы, что означает, что они используются частями. Именно здесь появляется функция flush, поскольку она помогает пользователям решить, нужно ли им буферизировать записанный контент или нет. По умолчанию установлено значение false. Если установлено значение true, выходные данные будут записываться в виде последовательности символов один за другим. Этот процесс медленный просто потому, что проще писать кусками, чем писать по одному символу за раз. Чтобы понять вариант использования аргумента flush в функции print (), давайте рассмотрим пример.

Пример:

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

3>>>2>>>1>>>Start

Исходный код для этого будет выглядеть примерно так, как показано ниже:

import time

count_seconds = 3
for i in reversed(range(count_seconds + 1)):
	if i > 0:
		print(i, end='>>>')
		time.sleep(1)
	else:
		print('Start')

Таким образом, приведенный выше код добавляет текст без конечной новой строки, а затем спит в течение одной секунды после каждого добавления текста. В конце обратного отсчета он печатает Начало и конец строки. Если вы запустите код как есть, он подождет 3 секунды и резко напечатает весь текст сразу. Это пустая трата 3 секунд, вызванная буферизацией фрагмента текста, как показано ниже:

Хотя буферизация служит определенной цели, она может привести к нежелательным эффектам, как показано выше. Для устранения той же проблемы аргумент flush используется с функцией print (). Теперь установите аргумент flush как true и снова посмотрите результаты.

import time

count_seconds = 3
for i in reversed(range(count_seconds + 1)):
	if i > 0:
		print(i, end='>>>', flush = True)
		time.sleep(1)
	else:
		print('Start')

Выход:

Разделитель

Функция print() может принимать любое количество позиционных аргументов. Эти аргументы могут быть отделены друг от друга с помощью разделителя “,». Они в основном используются для форматирования нескольких операторов в одной функции print ().

Пример:

b = "for"

print("Geeks", b , "Geeks")

Выход:

Geeks for Geeks

Аргумент файла

Вопреки распространенному мнению, функция print() не преобразует сообщения в текст на экране. Это делается с помощью уровней кода более низкого уровня, которые могут считывать данные(сообщения) в байтах. Функция print() представляет собой интерфейс над этими слоями, который делегирует фактическую печать потоку или file-like object. По умолчанию функция print() привязана к sys.stdout через аргумент файла.

Пример: Python print() в файл

import io

# declare a dummy file
dummy_file = io.StringIO()

# add message to the dummy file
print('Hello Geeks!!', file=dummy_file)

# get the value from dummy file
dummy_file.getvalue()

Выход:

'Hello Geeks!!\n'

Пример : Использование функции print() в Python

# Python 3.x program showing
# how to print data on
# a screen

# One object is passed
print("ProgramBox")

x = 5
# Two objects are passed
print("x =", x)

# code for disabling the softspace feature
print('G', 'F', 'G', sep='')

# using end argument
print("Python", end='@')
print("ProgramBox")

Выход:

ProgramBox x = 5 GFG Python@ProgramBox