Функция print в python

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

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

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

  • objects – объект, который нужно вывести * обозначает, что объектов может быть несколько;
  • sep – разделяет объекты. Значение по умолчанию: ‘ ‘ ;
  • end – ставится после всех объектов;
  • file – ожидается объект с методом write ( string ). Если значение не задано, для вывода объектов используется файл sys.stdout ;
  • flush – если задано значение True , поток принудительно сбрасывается в файл. Значение по умолчанию: False .

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

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

Функция Python print не возвращает значений; возвращает None .

Пример 1 : Как работает функция print() в Python?

При запуске программы получаем:

В примере, приведенном выше функции print Python 3 , во всех трёх выражениях передаётся только параметр objects , поэтому:

  • Используется разделитель ‘ ‘ — обратите внимание на пробел между двумя объектами в результатах вывода;
  • В качестве параметра end используется ‘n’ ( символ новой строки ). Обратите внимание, что каждое выражение print выводится в новой строке;
  • file — используется файл sys.stdout . Результат выводится на экран;
  • Значение flush — False . Поток не сбрасывается принудительно.

Пример 2: print() с разделителем и параметром end

При запуске программы получаем:

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

Пример 3: print() с параметром file

С помощью Python print без перевода строки также можно вывести объекты в файл, указав параметр file :

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

В примере мы передали в параметр file объект sourceFile . Объект-строка ‘ Круто же, правда? ‘ записывается в файл python.txt ( после чего можно открыть его текстовым редактором ).

В конце исполнения программы файл закрывается методом close() .

Данная публикация представляет собой перевод статьи « Python print() » , подготовленной дружной командой проекта Интернет-технологии.ру

Обзор различий синтаксиса python2 и python3.

Print – функция

Оператор print был заменён функцией print(), с именованными аргументами для замены большей части синтаксиса старого оператора print. Примеры:

Также вы можете настроить разделитель между элементами, например:

Функция print() не поддерживает особенность "программный пробел" старого оператора print. Например, в Python 2, print "A
", "B" напечатает "A
B
"; но в Python 3, print("A
", "B") напечатает "A
B
".

Отображения и итераторы вместо списков

Некоторые хорошо известные методы не возвращают списки в Python 3:

  • Методы словарей dict.keys(), dict.items() и dict.values() возвращают "отображения" вместо списков. Например, больше не работает: k = d.keys(); k.sort(). Используйте k = sorted(d).
  • Соответственно, методы dict.iterkeys(), dict.iteritems() и dict.itervalues() более не поддерживаются.
  • map() и filter() возвращают итераторы. Если вам действительно нужен список, быстрым исправлением станет list(map(. )), но часто лучшим исправлением будет использование генераторов списков (особенно когда оригинальный код использует лямбда-выражения), либо переписать код так, чтобы ему не нужен был список как таковой. Особенно сложно, что map() вызывает побочные эффекты функции; правильное преобразование заключается в использовании цикла (создание списка просто расточительно).
  • range() теперь ведёт себя как xrange(), но работает со значениями любого размера. xrange() больше не существует.
  • zip() возвращает итератор.

Операторы сравнения

Python 3 упростил правила для операторов сравнения:

Операторы сравнения ( =, >) поднимают исключение TypeError, когда операнды не упорядочиваемы. Таким образом, выражения типа 1 None или len b) – (a . Используйте !=.

exec – функция. Перестала быть зарезервированным словом.

from module import * запрещено использовать внутри функций.

Встроенные функции

PEP 3135: Новый super(). Теперь вы можете вызывать super() без аргументов и (при условии, что это метод экземпляра, определенный внутри определении класса) класс и экземпляр будут автоматически выбраны. С аргументами, поведение super() остается без изменений.

PEP 3111: raw_input() переименован в input(). Вместо input() в Python 2, вы можете использовать eval(input()).

Добавлена функция next(), вызывающая метод __next__() объекта.

Перемещен intern() в sys.intern().

Удалено: apply(). Вместо apply(f, args) используйте f(*args).

Удалено: callable(). Вместо callable(f) используйте hasattr(f, "__call__"). Функция operator.isCallable() также удалена.

Удалено: execfile(). Вместо execfile(fn) используйте exec(open(fn).read()).

*objs — Объекты, которые требуется отправить в файл.

sep="" — Строка, которой следует разделить объекты. None — использовать значение по умолчанию. Ожидается, что аргумент будет передан по имени.

end=’
‘ — Строка, которой следует поставить после всех объектов. None — использовать значение по умолчанию. Ожидается, что аргумент будет передан по имени.

file=sys.stdout — Ожидается объект, реализующий метод wrtite(string). Если значение не указано, либо None будет использован ‘sys.stdout’. Ожидается, что аргумент будет передан по имени.

+py3.3 flush=False — Если True поток будет сброшен в файл принудительно. Обычно же необходимость буферизации определяется типом файла.

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

Если объекты не указаны, запишет значение из параметра end .

Python 2.x

Функция недоступна по умолчанию в силу того, что print распознаётся, как одноимённая инструкция. Чтобы воспользоваться функцией, следует импортировать её из __future__ в самом начале модуля.

Начиная с +py2.7 инструкция может включать скобки и выглядеть как функция.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *