print в Python: вывод сообщения на экран
Привет! В этой статье мы поговорим о функции print
в Python. Эта функция используется для вывода сообщений на экран и в файл. Мы подробно разберем то, как можно использовать эту функцию, а также ее отличия в Python 3 от Python 2.
Вывод сообщения на экран в Python 3
Для вывода на экран в Python 3 мы можем воспользоваться встроенной функцией print
:
print("Привет мир!")
Вывод:
Привет мир!
Вывод сообщения на экран в Python 2
Во второй версии Python нужно использовать ключевое слово print
, а не функцию:
print "Привет мир!"
Вывод:
Привет мир!
Дальше в статье мы будем подробно разбирать именно функцию print
в Python 3. Если вы хотите подробнее почитать про print
во второй версии Python, то рекомендую почитать официальную документацию.
Функция print
Функция print
в Python имеет следующий вид:
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
- Сначала мы передаем объекты, которые хотим вывести на экран. Функция
print
автоматически преобразует их в строки. Звездочка означает то, что мы можем передать сколько угодно значений. - По умолчанию, все значения будут выведены через пробел. Для того, чтобы поменять разделитель, нужно передать
sep='разделитель'
. - После того, как все объекты были выведены, функция
print
перенесет строку. Мы можем поменять то, что будет выведено в самом конце при помощи аргументаend
. - По умолчанию, вывод будет производиться на экран. Мы можем указать файл в который нужно вывести сообщение при помощи аргумента
file
. flush
определяет, нужно ли отображать сообщение сразу после вызова функции или можно подождать. Обычно сообщения не выводятся сразу после вызова, потому что так программы работают быстрее. Если вы хотите быть уверенным, что сообщение отобразится сразу после вызова функцииprint
, то укажитеflush=True
.
Давайте теперь посмотрим как использовать каждый из этих аргументов по отдельности.
Вывод нескольких значений
print
позволяет вывести сразу несколько значений одним сообщением:
print("Я", "пошел", "гулять")
Вывод:
Я пошел гулять
При этом мы можем передавать не только строки:
print("2 * 3 =", 6)
Вывод:
2 * 3 = 6
Функция print
сконвертирует в строку любое значение, которое мы ей передадим. Давайте попробуем вывести функцию print
при помощи функции print
:
print('print:', print)
Вывод:
print: <built-in function print>
Тут мы видим, что print
- это встроенная функция в Python.
Как поменять разделитель в print
Чтобы поменять пробел на что-то другое при выводе нескольких значений, мы можем передать параметр sep
:
print(1, 2, 3, sep=", ")
Вывод:
1, 2, 3
Тут мы вывели числа, разделенные запятой с пробелом. Вы можете выбрать разделитель согласно вашим задачам.
Как поменять окончание вывода
По умолчанию, print
переносит строку после каждого вывода:
print("Первая строка")
print("Вторая строка")
Вывод:
Первая строка
Вторая строка
Мы можем поменять то, что выводиться в конце сообщения при помощи аргумента end
:
print("Один |", "Два", end=" | ")
print("Три")
Вывод:
Один | Два | Три
Вывод сообщения в файл
Для вывода сообщения в файл print
поддерживает специальный параметр - file
. Давайте попробуем вывести сообщение "Привет мир!"
в файл output.txt:
with open("output.txt", "w") as f:
print("Привет мир!", file=f)
output.txt:
Привет мир!
В примере выше мы используем функцию open
для открытия файла на запись. После того, как файл открыли, нужно его передать в параметр file
функции print
.
Сброс вывода при помощи flush
Перед тем, как сбрасывать вывод функции print
, давайте продемонстрируем тот факт, что вывод сообщений не появляется на экране сразу:
import time
print("Сообщение #1", end=", ")
time.sleep(3)
print("сообщение #2")
Тут я советую запустить эту программу вашем компьютере, чтобы увидеть все своими глазами. В любом случае, вот что произойдет:
- Первые три секунды на экране вы ничего не увидите, хотя функция
print
была вызвана. - После того, как пройдет три секунды, второй вызов функции
print
сбросит накопившейся вывод на экран.
В итоге мы увидим следующую строку:
Сообщение #1, сообщение #2
Чтобы увидеть первое сообщение сразу, а не после второго вызова функции print
, нужно указать flush=True
. Это заставит Python вывести "Сообщение #1, "
не дожидаясь второго вызова print
:
import time
print("Сообщение #1", end=", ", flush=True)
time.sleep(3)
print("сообщение #2")
По умолчанию Python выводит сообщение на экран после символа переноса строки
'\n'
. Поэтому для демонстрации работы параметраflush
мы поменялиend
для первого сообщения на запятую.
Пример: вывод числа int на экран
Как мы уже видели, для вывода чисел при помощи функции print
можно просто передать это число в функцию:
number = 1
print(number, 2)
Вывод:
1 2
Пример: вывод строки на экран
Строку тоже можно просто передать как параметр в функцию print
для ее вывода:
print("Вывод строки в Python")
Вывод:
Вывод строки в Python
Пример: вывод списка в Python
Для вывода списка можно просто передать его в функцию. В этом случае print
отобразит элементы списка через запятую в квадратных скобках:
l = [1, "два", 3]
print(l)
Вывод:
[1, 'два', 3]
Если вам нужно вывести элементы по-другому, то вы можете сделать это вручную:
l = [1, "два", 3]
for index, item in enumerate(l):
print(item, end="")
if index == len(l) - 1:
print() # перенос строки
else:
print(" | ", end="") # вывод своего разделителя
Вывод:
1 | два | 3
Но пример выше слишком многословный. Гораздо проще воспользоваться методом join
:
l = [1, "два", 3]
print(" | ".join(str(x) for x in l))
Вывод:
1 | два | 3
Тут мы сначала преобразовали все элементы списка в строки при помощи генератора, а потом соединили элементы при помощи join
.
Пример: вывод словаря при помощи print
Функция print
также умеет красиво выводить словари:
d = {"A": 1, "B": 2}
print("Словарь:", d)
Вывод:
Словарь: {'A': 1, 'B': 2}
Пример: вывод множества в Python
Множество тоже можно выводить используя функцию print
:
s = {1, 2, 3}
print("Множество:", s)
Вывод:
Множество: {1, 2, 3}
Упражнения
- Использование
print
:
Напишите программу на Python, которая запрашивает у пользователя его имя и выводит приветственное сообщение на экран с использованием функцииprint
. - Вывод в файл с помощью
print
:
Создайте текстовый файл с именем “output.txt”. Напишите программу, которая использует функциюprint
, чтобы записать в этот файл строку “Привет, мир!“. После выполнения программы откройте файл и убедитесь, что строка была записана корректно. - Управление разделителями и завершением строки в
print
:
Напишите программу, которая демонстрирует возможность использования различных разделителей и символов завершения строки в функцииprint
. Попробуйте изменить стандартный разделитель (пробел) и стандартное завершение строки (новая строка) на что-то другое и выведите несколько значений на экран.
Если хотите всегда быть в курсе последних новостей в мире программирования и IT, подписываетесь на мой Telegram-канал, где я делюсь свежими статьями, новостями и полезными советами. Буду рад видеть вас среди подписчиков!
Обсуждение