Функция print() в Python: аргументы и применение
Больше, чем просто «Hello, world».
Иллюстрация: Оля Ежак для Skillbox Media
Все курсы по программированию на Python начинаются с изучения функции print(). С её помощью разработчики могут выводить данные на экран, а новички — печатать в консоли легендарную фразу Hello, world. А ещё в print() есть аргументы, с помощью которых можно гибко управлять выводом.
В этой статье рассказываем про функцию print(), её аргументы и показываем, как ими пользоваться.
Содержание
Зачем нужна функция print()
print() — встроенная в Python функция, с помощью которой можно вывести текст в консоль. Также с её помощью можно контролировать форматирование вывода, управлять разделителями между элементами, изменять символы окончания строк и перенаправлять вывод данных в файл.
Рассмотрим, как работает функция print() в Python и выведем в консоль классическую для программистских гайдов фразу «Hello, world!». Синтаксис вызова функции выглядит следующим образом:
В ней print() — название функции, а Hello, world! — строка, которую надо вывести в консоль. Если выполнить код, то в терминале появится фраза «Hello, world!».
У функции print() есть дополнительные аргументы — значения, с помощью которых можно модифицировать вывод данных. Их следует передавать во время вызова. С ними синтаксис print() выглядит так:
В ней:
- objects — один или несколько объектов, которые нужно вывести;
- sep — разделитель между объектами (по умолчанию пробел);
- end — символ завершения строки (по умолчанию перевод строки);
- file — объект файла, в который направлен вывод;
- flush — принудительный сброс буфера вывода.
Рассмотрим подробно, как устроен каждый из аргументов и как всё это можно использовать на практике.
Аргумент objects функции print() в Python
Аргумент objects в функции — это то, что мы хотим вывести на экран. Выводить можно:
- Строки. Любой текст, заключённый в одинарные или двойные кавычки:
- Числа. Целое или дробное число:
- Переменные. Имя переменной, в которой хранится какое-либо значение:
- Выражение. Любое математическое или логическое выражение, которое Python может вычислить:
- Список, кортеж или словарь. Эти структуры данных будут выведены в виде строки, представляющей их содержимое:
В функцию print() можно передать любое количество аргументов objects. Python выведет их в том порядке, в котором получил. Благодаря этому можно печатать в консоль составные строки, например:
Аргумент sep функции print() в Python
Аргумент sep определяет, какой разделитель Python будет использовать между элементами функции print(). По умолчанию ставится пробел:
Но можно поставить, например, восклицательный знак:
Важно отметить, что sep вставляет разделитель только между объектами, поэтому в конце нашей строки восклицательного знака нет.
sep можно использовать и для «склеивания» нескольких объектов в одну строку:
Аргумент end функции print() в Python
Аргумент end похож на sep, но ставит знак не между объектами, а после них. По умолчанию в конце каждой строки Python ставит символ перевода строки (\n).
С помощью end можно добавить любой знак в конце строки:
Аргумент file функции print() в Python
Аргумент file позволяет перенаправить вывод данных не в консоль, а в указанный файл. Это полезно, когда нужно записать результаты работы программы в файл, чтобы их потом как-нибудь использовать. Например, с помощью вывода в файл можно сохранять логи выполнения программы или создавать отчёты.
Перед выводом данных в файл надо открыть сам файл. Для этого используют следующую конструкцию:
В ней мы вызываем функцию open() с помощью оператора with. В качестве аргументов функции указываем название файла ("output.txt"), режим работы ("w") и кодировку (encoding="utf-8").
Режим работы "w" означает, что мы будем записывать данные в файл с перезаписью содержимого, а если в папке проекта не будет документа с указанным названием, то Python создаст его. Разработчики также иногда используют режим работы "a". С его помощью можно записать новые данные в конец файла без удаления текущего содержимого.
После этого в блоке with можно указывать данные, которые следует записать в файл:
Аргумент flush функции print() в Python
У функции print() есть буфер, в котором Python собирает данные и выводит их чуть позже — например, после завершения строки. Этот механизм добавили для увеличения эффективности кода, чтобы программа не тратила ресурсы на безостановочный вывод данных. В некоторых проектах данные надо вывести сразу и не задерживать их в буфере — например, если вы хотите одновременно печатать строки и редактировать их.
Буфер функции print() можно отключить с помощью аргумента flush:
Например, с помощью аргумента flush можно реализовать анимацию загрузки в терминале:
Что запомнить
- Функция print() — встроенная в Python функция, с помощью которой можно выводить данные в консоль или записывать в файл.
- У функции print() есть аргументы: sep устанавливает разделитель между объектами, end устанавливает символ завершения строки, file направляет вывод в файл, flush управляет буфером функции, а objects — это то, что мы выводим.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!