Функция print() в Python, печатает объект.

Синтаксис:
print( *objects , sep='' , end='\n' , file=sys.stdout , flush=False )
Параметры:
  • *objects — объекты Python
  • sep=' ' — строка, разделитель объектов. Значение по умолчанию — пробел ' '.
  • end='\n' — строка, которой заканчивается поток. Значение по умолчанию '\n'.
  • file=sys.stdout — объект, реализующий метод file.write(string). Значение по умолчанию sys.stdout.
  • flush=False — если True поток будет сброшен в указанный файл file принудительно. Значение по умолчанию False
Возвращаемое значение:
  • текстовый поток
Описание:

Функцию print() выводит объекты в текстовый поток, отделяя их друг от друга sep и заканчивая поток end. sep, end, file и flush, если они заданы, должны быть переданы в качестве аргументов ключевых слов.

Ключевые аргументы функции sep и end должны быть строками, они также могут быть None, что означает использование значений по умолчанию. Если ничего не передано, print() просто напечатает конец строки '\n'.

Переданные объекты в функцию print() будут преобразованы в строку по тем же правилам, по которым работает str().

Внимание:
В связи с тем, что объекты преобразуются в строки, функция не может быть использована с бинарными файловыми. Чтобы вести запись в такие файлы используйте file.write().

Примеры вывода объектов на печать.
>>> print('Hello')
# Hello
>>> print('Hello', 'how are you?')
# Hello how are you?
>>> print('Hello', 'how are you?', sep='---')
# Hello---how are you?
>>> lst = ['Раз', 'Два', 'Три']
>>> for n, line in enumerate(lst, 1):
. ..     if len(lst) == n:
...         print(line)
...     else:
...         print(line, end='=>')
... 
# Раз=>Два=>Три
>>> print(11, 12, 13, 14, sep=';')
# 11;12;13;14

Пример переноса строки при выводе на печать в print().

Явный перенос строки при печати с помощью символа новой строки \n

# использование символа новой строки `\n` в переменной 
>>> line = 'перенос строки при печати\nс помощью символа новой строки'
>>> print(line)
# перенос строки при печати
# с помощью символа новой строки
# использование символа новой строки `\n` в функции print()
>>> print('перенос строки при печати\nс помощью символа новой строки')
# перенос строки при печати
# с помощью символа новой строки

Пример размещения строки в функции print().

Допустим есть длинная строка не требующая переноса при печати и ее необходимо уместить на экране IDE без горизонтальной прокрутки. Для этого необходимо вспомнить pep8 и свойства типа str.

>>> print('Допустим есть длинная строка не требующая переноса' 
          '  при печати и ее необходимо уместить на экране.')
# Допустим есть длинная строка не требующая переноса при печати и ее необходимо уместить на экране.

f-строки в Python 3 — применение и производительность

Начиная с версии 3.6 в Python появился новый тип строк — f-строки, которые буквально означают «formatted string». Эти строки улучшают читаемость кода, а также работают быстрее чем другие способы форматирования. F-строки задаются с помощью литерала «f» перед кавычками.

>>> "обычная строка"
>>> f"f-строка"

f-строки — это пятый способ (sic!) форматирования строк в Python, который очень похож на использование метода format().

Вспомним все 5 способов форматирования.

5 способов форматирования строк

1. Конкатенация. Грубый способ форматирования, в котором мы просто склеиваем несколько строк с помощью операции сложения:

>>> name = "Дмитрий"
>>> age = 25
>>> print("Меня зовут " + name + ".  Мне " + str(age) + " лет.")
>>> Меня зовут Дмитрий. Мне 25 лет.

2. %-форматирование. Самый популярный способ, который перешел в Python из языка С. Передавать значения в строку можно через списки и кортежи , а также и с помощью словаря. Во втором случае значения помещаются не по позиции, а в соответствии с именами.

>>> name = "Дмитрий"
>>> age = 25
>>> print("Меня зовут %s. Мне %d лет." % (name, age))
>>> Меня зовут Дмитрий. Мне 25 лет.
>>> print("Меня зовут %(name)s. Мне %(age)d лет." % {"name": name, "age": age})
>>> Меня зовут Дмитрий. Мне 25 лет.

3. Template-строки. Этот способ появился в Python 2.4, как замена %-форматированию (PEP 292), но популярным так и не стал. Поддерживает передачу значений по имени и использует $-синтаксис как в PHP.

>>> from string import Template
>>> name = "Дмитрий"
>>> age = 25
>>> s = Template('Меня зовут $name.
Мне $age лет.') >>> print(s.substitute(name=name, age=age)) >>> Меня зовут Дмитрий. Мне 25 лет.

4. Форматирование с помощью метода format(). Этот способ появился в Python 3 в качестве замены %-форматированию. Он также поддерживает передачу значений по позиции и по имени.

>>> name = "Дмитрий"
>>> age = 25
>>> print("Меня зовут {}. Мне {} лет.".format(name, age)
>>> Меня зовут Дмитрий. Мне 25 лет.
>>> print("Меня зовут {name} Мне {age} лет.".format(age=age, name=name)
>>> Меня зовут Дмитрий. Мне 25 лет.

5. f-строки. Форматирование, которое появилось в Python 3.6 (PEP 498). Этот способ похож на форматирование с помощью метода format(), но гибче, читабельней и быстрей.

>>> name = "Дмитрий"
>>> age = 25
>>> print(f"Меня зовут {name} Мне {age} лет.")
>>> Меня зовут Дмитрий.  Мне 25 лет.

Погружене в f-строки

f-строки делают очень простую вещь — они берут значения переменных, которые есть в текущей области видимости, и подставляют их в строку. В самой строке вам лишь нужно указать имя этой переменной в фигурных скобках.

>>> name = "Дмитрий"
>>> age = 25
>>> print(f"Меня зовут {name} Мне {age} лет.")
>>> Меня зовут Дмитрий. Мне 25 лет.

f-строки также поддерживают расширенное форматирование чисел:

>>> from math import pi
>>> print(f"Значение числа pi: {pi:.2f}")
>>> Значение числа pi: 3.14

С помощью f-строк можно форматировать дату без вызова метода strftime():

>>> from datetime import datetime as dt
>>> now = dt.now()
>>> print(f"Текущее время {now:%d.%m.%Y %H:%M}")
>>> Текущее время 24.02.2017 15:51

Они поддерживают базовые арифметические операции. Да, прямо в строках:

>>> x = 10
>>> y = 5
>>> print(f"{x} x {y} / 2 = {x * y / 2}")
>>> 10 x 5 / 2 = 25. 0

Позволяют обращаться к значениям списков по индексу:

>>> planets = ["Меркурий", "Венера", "Земля", "Марс"]
>>> print(f"Мы живим не планете {planets[2]}")
>>> Мы живим не планете Земля

А также к элементам словаря по ключу:

>>> planet = {"name": "Земля", "radius": 6378000}
>>> print(f"Планета {planet['name']}. Радиус {planet['radius']/1000} км.")
>>> Планета Земля. Радиус 6378.0 км. 

Причем вы можете использовать как строковые, так и числовые ключи. Точно также как в обычном Python коде:

>>> digits = {0: 'ноль', 'one': 'один'}
>>> print(f"0 - {digits[0]}, 1 - {digits['one']}")
>>> 0 - ноль, 1 - один

Вы можете вызывать в f-строках методы объектов:

>>> name = "Дмитрий"
>>> print(f"Имя: {name.upper()}")
>>> Имя: ДМИТИРИЙ

А также вызывать функции:

>>> print(f"13 / 3 = {round(13/3)}")
>>> 13 / 3 = 4

f-строки очень гибкий и мощный инструмент для создания самых разнообразных шаблонов.

Со всеми возможностя f-строк вы можете ознакомится в PEP498.

Производительность

F-строки не только гибкие, но и быстрые. И для сравнения производительности разных подходов к форматированию я подготовил два шаблона:

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

Финальная простая строка получается такой:

Привет, меня зовут Дмитрий. Мне 27 лет.

Сложная строка на выходе такая:

Сегодня 24.02.2017.
Мы живём на планете Земля. Её радиус 6378 км., а масса 5.973e+24
Период обращения планеты вокруг Солнца 365 дней.

Далее я написал 5 функций, каждая из которых возвращает строку отформатированную одним из способом, а после запустил каждую функцию много раз. Пример всех функций и тестового скрипта можете скачать тут.

После недолгого тестирования я получил следующие результаты:

На простых примерах f-строки показывают самые лучшие результаты.

На 25% быстрее %-форматирования и метода format().

На сложных шаблонах f-строки ведут себя также как %-форматирование
(разница в пользу %-форматирования не превышает величину погрешности).
А вот относительно метода format() f-строки быстрее на 27%.

Заключение

Если вы используете Python 3.6 и старше, то самое время использовать f-строки — они гибкие и быстрые.

Поделись с друзьями:

Python print()

В этом уроке мы узнаем о функции Python print() с помощью примеров.

Функция print() выводит заданный объект на стандартное устройство вывода (экран) или в файл текстового потока.

Пример сообщения

 = 'Python — это весело'
 

# напечатать строковое сообщение печать (сообщение)

# Вывод: Python — это весело

print() Синтаксис

Полный синтаксис print() :

 print(*objects, sep=' ', end='\n', file=sys. stdout, flush=False) 

print() Параметры

  • объектов — объект для печати. * указывает, что может быть более одного объекта
  • sep — объекты разделены sep. Значение по умолчанию :
    ' '
  • конец конец напечатан наконец
  • файл — должен быть объектом с методом записи (строка). Если опущено, sys.stdout будет использоваться для вывода объектов на экран.
  • flush — если True, поток принудительно очищается. Значение по умолчанию : Ложь

Примечание. sep , end , file и flush являются аргументами ключевого слова. Если вы хотите использовать аргумент sep , вы должны использовать:

 print(*objects, sep = 'separator') 

not

 print(*objects, 'separator') 

print() Возвращаемое значение

Не возвращает никакого значения; возвращает Нет .


Пример 1: Как print() работает в Python?

 print("Python это весело")
а = 5
# Два объекта переданы
 

печать("а=", а)

б = а # Передаются три объекта

print('a =', a, '= b')

Вывод

  Python — это весело.
а = 5
a = 5 = b  

В приведенной выше программе только параметр объектов передается в функция print() (во всех трех операторах печати).

Следовательно, используется разделитель

  • ' ' . Обратите внимание на пространство между двумя объектами на выходе.
  • end Используется параметр '\n' (символ новой строки). Обратите внимание, что каждый оператор печати отображает вывод в новой строке.
  • файл это sys.stdout . Результат печатается на экране.
  • флеш равно False . Поток принудительно не сбрасывается.

Пример 2: print() с параметрами разделителя и конца

 a = 5
 

print("a =", a, sep='00000', end='\n\n\n')

print("a =", a, sep='0', end='')

Вывод

  а =000005
a =05  

Мы передали параметры sep и end в приведенной выше программе.


Пример 3: print() с параметром файла

В Python вы можете напечатать объекта в файл, указав файл параметр.

Рекомендуемое чтение: Ввод-вывод файла Python

 sourceFile = open('python.txt', 'w')
print('Очень круто, да!', file = sourceFile)
sourceFile.close() 

Эта программа пытается открыть файл python.txt в режиме записи. Если этот файл не существует, создается файл python.txt и открывается в режиме записи.

Здесь мы передали объект файла sourceFile параметру file . Строковый объект «Очень круто, да!» печатается до файл python.txt (проверьте его в своей системе).

Наконец, файл закрывается с помощью метода close() .

Python 3 печать | Определение | Обзоры | Параметры

Обновлено 30 марта 2023 г.

Функции печати Python 3 обычно используются для форматирования или проектирования того, как строка будет отображаться при печати. Хотя передача параметров методу печати не требуется, для этого требуется пустая скобка в конце, что указывает Python на выполнение функции вместо вызова ее по имени. Функция печати, принимающая параметры ключевого слова, заменяет большинство исходных операторов печати. Печать на стандартный вывод является очень типичным вариантом использования.

Обзор печати Python 3

Функция печати выводит сообщение на экран или другое стандартное устройство вывода.

В приведенном ниже примере показано, что синтаксис печати Python 3 выглядит следующим образом.

Синтаксис:

 print (функция) (значение(я), разделитель (необязательный параметр)= ' ', конец (необязательный параметр) = '\n', файл=файл (необязательный параметр), flush=flush ( необязательный параметр)) 
  • Метод печати в Python принимает любое количество параметров и печатает их в одной строке текста.
  • Каждый элемент переводится в текст и отделяется пробелами с одной буквой «n» в конце («символ новой строки»).
  • При вызове без аргументов print просто печатает букву «n». Стандартный вывод выводит на экран в интерпретаторе между подсказками «>>>», что упрощает наблюдение за тем, что выполняет печать. Печать в открытый файл также возможна с помощью print.
  • При выполнении функции открытия добавьте «w» для «записи», если мы хотим открыть файл для записи. Если мы откроем файл для записи, он уничтожит все предыдущие данные.
  • Необязательный параметр файла для печати при использовании с открытым файлом направляет текстовые строки в файл, а не в стандартный вывод.
  • Функция печати Python по умолчанию всегда завершается на новой строке. Параметр «конец» включен в эту функцию. «n» или символ новой строки является значением по умолчанию для этой опции.
  • Этот аргумент позволяет завершить команду печати любым символом или строкой. Эта функция есть только в Python 3+.
  • Как мы видим, если мы вызовем print без каких-либо аргументов, мы получим пустую строку, то есть строку, содержащую только символ новой строки. Это не следует путать с пустой строкой, которая не содержит никаких символов, включая символ новой строки.
  • Возврат — это основной механизм, с помощью которого функция возвращает результаты вызывающей стороне при рассмотрении дизайна функции в виде черного ящика.
  • Стандартный вывод — это альтернативный метод передачи данных функцией, но он значительно проще, стандартный вывод является текстовым и используется всеми функциями.
  • В результате механизм возвращаемого значения должен использоваться в качестве основного механизма вывода данных черного ящика и функционального тестирования. Стандартный вывод — это тип вывода вторичной функции, который чаще всего используется для генерации текста для пользователя терминала.
  • Мы были свидетелями вызова print без аргументов для создания пустой строки, а затем с одним аргументом для отображения либо фиксированного, либо форматированного сообщения.
  • Однако оказывается, что эта функция может принимать ноль, один или несколько позиционных аргументов. Это очень полезно в обычном случае форматирования сообщения, когда мы хотим соединить несколько частей вместе.

Параметры печати Python 3

Ниже приведен синтаксис описания параметров печати Python 3.

1) Значение(я) – Любое количество значений, сколько мы хотим. Перед печатью он будет преобразован в строку.

2) Сен — Это не что иное, как разделитель. Если объектов много, укажите, как их разделить. Это необязательный параметр в синтаксисе печати Python 3.

3) End — это необязательный параметр в синтаксисе печати Python 3.

4) ‘n’ файл — n — объект с методом записи. Это необязательный параметр в синтаксисе печати Python 3.

5) Flush — это необязательный параметр в синтаксисе печати Python 3. Логическое значение указывает, сбрасывается ли вывод (True) или буферизуется false.

  • Несмотря на то, что никакие параметры не передаются, в конце необходимо добавить пустые круглые скобки, чтобы указать Python на выполнение функции, а не просто обращаться к ней по имени.
  • На экране появится пустая строка из-за невидимого символа новой строки. Чтобы добавить вертикальное пространство, мы можем многократно выполнять print. Это как если бы мы печатали текст в текстовом процессоре и нажимали Enter на клавиатуре.
  • Функция печати Python по умолчанию всегда завершается на новой строке. Параметр «конец» включен в эту функцию. «n» или символ новой строки является значением по умолчанию для этой опции.
  • Этот аргумент позволяет завершить команду печати любым символом или строкой. Эта функция есть только в Python 3+.

Функция печати Python 3

Ниже приведена функция печати Python 3.

1. Вызов печати

В приведенном ниже примере показано, как выглядит функция вызова печати. Мы видим ту же напечатанную строку, которую мы использовали в функции печати.

 print("python 3 print") 

Вывод:

2. Символ новой строки

В приведенном ниже примере показаны следующие символы новой строки. Используя \n, мы разделяем строку на другие строки.

 print("python 3 print \n python 3") 

Вывод:

3. Rstrip

Пример ниже показывает использование функции Rstrip в python 3 следующим образом. Функция Rstrip используется для удаления символа новой строки из указанной строки.

 'функция печати python 3.\n'.rstrip () 

Вывод:

4. Сообщение печати

В приведенном ниже примере функция печати сообщения в функции печати Python 3 выглядит следующим образом. Эта функция используется для извлечения сообщения из переменной.

 msg = 'сообщение печати python 3.'
print (msg) 

Вывод:

5. Разделите несколько аргументов

В приведенном ниже примере показано, как разделить несколько аргументов в функции печати Python 3.

 импорт ОС
print('Имя is', os.getlogin(), 'and age is', 35) 

Вывод:

6.