Главная Веб-разработка Функция print() в Python: аргументы и применение

Функция print() в Python: аргументы и применение

от admin

Больше, чем просто «Hello, world».

Все курсы по программированию на Python начинаются с изучения функции print(). С её помощью разработчики могут выводить данные на экран, а новички — печатать в консоли легендарную фразу Hello, world. А ещё в print() есть аргументы, с помощью которых можно гибко управлять выводом.

В этой статье рассказываем про функцию print(), её аргументы и показываем, как ими пользоваться.

Зачем нужна функция print()

print() — встроенная в Python функция, с помощью которой можно вывести текст в консоль. Также с её помощью можно контролировать форматирование вывода, управлять разделителями между элементами, изменять символы окончания строк и перенаправлять вывод данных в файл.

Рассмотрим, как работает функция print() в Python и выведем в консоль классическую для программистских гайдов фразу «Hello, world!». Синтаксис вызова функции выглядит следующим образом:

print(“Hello, world!”)

В ней print() — название функции, а Hello, world! — строка, которую надо вывести в консоль. Если выполнить код, то в терминале появится фраза «Hello, world!».

У функции print() есть дополнительные аргументы — значения, с помощью которых можно модифицировать вывод данных. Их следует передавать во время вызова. С ними синтаксис print() выглядит так:

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

В ней:

  • objects — один или несколько объектов, которые нужно вывести;
  • sep — разделитель между объектами (по умолчанию пробел);
  • end — символ завершения строки (по умолчанию перевод строки);
  • file — объект файла, в который направлен вывод;
  • flush — принудительный сброс буфера вывода.

Рассмотрим подробно, как устроен каждый из аргументов и как всё это можно использовать на практике.

Аргумент objects функции print() в Python

Аргумент objects в функции — это то, что мы хотим вывести на экран. Выводить можно:

  • Строки. Любой текст, заключённый в одинарные или двойные кавычки:

print(“Ехал грека через реку”) # Ехал грека через реку

  • Числа. Целое или дробное число:

print(42) # 42 print(3.14) # 3.14

  • Переменные. Имя переменной, в которой хранится какое-либо значение:

name = “Алёна” print(name) # Алёна

  • Выражение. Любое математическое или логическое выражение, которое Python может вычислить:

print(2 + 2) # 4

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

print([1, 2, 3]) # [1, 2, 3]

В функцию print() можно передать любое количество аргументов objects. Python выведет их в том порядке, в котором получил. Благодаря этому можно печатать в консоль составные строки, например:

age = 30 city = “Алматы” print(“Мне”, age, “лет, и я живу в”, city) # Мне 30 лет, и я живу в Алматы

Аргумент sep функции print() в Python

Аргумент sep определяет, какой разделитель Python будет использовать между элементами функции print(). По умолчанию ставится пробел:

print(“Мир”, “Труд”, “Май”) # Вывод: Мир Труд Май

Но можно поставить, например, восклицательный знак:

print(“Мир”, “Труд”, “Май”, sep=”! “) # Вывод: Мир! Труд! Май

Читать также:
Простыми словами: что такое стек и как он устроен

Важно отметить, что sep вставляет разделитель только между объектами, поэтому в конце нашей строки восклицательного знака нет.

sep можно использовать и для «склеивания» нескольких объектов в одну строку:

print(“a”, “b”, “c”, sep=””) # Вывод: abc

Аргумент end функции print() в Python

Аргумент end похож на sep, но ставит знак не между объектами, а после них. По умолчанию в конце каждой строки Python ставит символ перевода строки (n).

С помощью end можно добавить любой знак в конце строки:

print(“Мир”, “Труд”, “Май”, end=”!”) # Вывод: Мир Труд Май! print(“Мир”, “Труд”, “Май”, sep=”! “, end=”!”) # Вывод: Мир! Труд! Май!

Аргумент file функции print() в Python

Аргумент file позволяет перенаправить вывод данных не в консоль, а в указанный файл. Это полезно, когда нужно записать результаты работы программы в файл, чтобы их потом как-нибудь использовать. Например, с помощью вывода в файл можно сохранять логи выполнения программы или создавать отчёты.

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

with open(“output.txt”, “w”, encoding=”utf-8″) as f:

В ней мы вызываем функцию open() с помощью оператора with. В качестве аргументов функции указываем название файла (“output.txt”), режим работы (“w”) и кодировку (encoding=”utf-8″).

Режим работы «w” означает, что мы будем записывать данные в файл с перезаписью содержимого, а если в папке проекта не будет документа с указанным названием, то Python создаст его. Разработчики также иногда используют режим работы «a”. С его помощью можно записать новые данные в конец файла без удаления текущего содержимого.

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

with open(“output.txt”, “w”, encoding=”utf-8″) as f: print(“Эту строку Python запишет в файл output.txt”, file=f) print(“Вторая строка тоже будет в файле”, file=f)

Аргумент flush функции print() в Python

У функции print() есть буфер, в котором Python собирает данные и выводит их чуть позже — например, после завершения строки. Этот механизм добавили для увеличения эффективности кода, чтобы программа не тратила ресурсы на безостановочный вывод данных. В некоторых проектах данные надо вывести сразу и не задерживать их в буфере — например, если вы хотите одновременно печатать строки и редактировать их.

Буфер функции print() можно отключить с помощью аргумента flush:

print(“Эту строку Python напечатает моментально”, flush=True)

Например, с помощью аргумента flush можно реализовать анимацию загрузки в терминале:

import time print(“Загрузка”, end=””, flush=True) for i in range(3): time.sleep(1) print(“.”, end=””, flush=True)

Что запомнить

  • Функция print() — встроенная в Python функция, с помощью которой можно выводить данные в консоль или записывать в файл.
  • У функции print() есть аргументы: sep устанавливает разделитель между объектами, end устанавливает символ завершения строки, file направляет вывод в файл, flush управляет буфером функции, а objects — это то, что мы выводим.

Похожие статьи