Статья Автор: Александр Ф. Алейников

3.2.1 Ввод и вывод данных

Ввод и вывод данных

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

Функция print()

Функция print() используется для вывода данных на экран. Она принимает на вход произвольное количество аргументов, которые передаются в скобках и перечисляются через запятую.

Примечание. Аргументы — это значения, которые передаются в функцию при её вызове (они указываются внутри скобок).

Например, этот код:

print(1048576)

выводит число

1048576

При выводе строк важно не забывать обрамлять их в двойные или одинарные кавычки.

Данный код:

print("One Shot")

выводит строку

One Shot


Обратите внимание на то, что при выводе кавычки не отображаются.

 

Помимо чисел и строк аргументами могут выступать и переменные.

Приведенный ниже код:

a = 10
b = 40
result = a + b
print(a)
print(b)
print(result)

выводит

10
40
50

Вычисления внутри функции print()

Операции между переменными, числами и строками можно выполнять прямо внутри print() во время вывода.

Данный код:

x = 15
y = 5
print(x + y)
print(x - y)
print(50 - 20)
print(100 * x)
print("Hello" + ", " + "World!")

выводит

20
10
30
1500
Hello, World!

Множественный вывод

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

Например, этот код:

name = "Leonid"
surname = "Shastin"
print(name, surname)

выводит

Leonid Shastin

А этот код:

a = 50
b = 250
print(a, "+", b, "=", a + b)

 выводит

50 + 250 = 300

Можно использовать вычисления внутри print() и множественный вывод одновременно, чтобы печатать данные на экран в наиболее удобном формате.

В будущих уроках мы иногда будем использовать термин «инструкция». Инструкция языка программирования — это команда или набор команд на языке программирования, посредством которой компьютеру сообщается о необходимости выполнения одного определенного шага по обработке порции информации. В коде выше a = 50, b = 250 и использование функции print() — три отдельные инструкции. Другими словами, любая программа на языке Python — набор инструкций.

Параметры sep и end

Обратите внимание на то, что в примерах, приведенных выше, значения при множественном выводе печатаются через один пробел, а код, содержащий несколько команд print(), выводит каждое последующее значение с новой строки (в конце вывода внутри каждой команды происходит переход на новую строку). На самом деле функция print() помимо аргументов на вывод принимает ещё необязательные именованные параметры sep и end

Параметр sep

Параметр sep задает разделитель между значениями на выводе, по умолчанию он равен одному пробелу. 

Так, эти две программы эквивалентны:

print(16, 32)
print(16, 32, sep=' ')

Они выводят

16 32

и разделяют 16 и 32 с помощью одного пробела.

Символ-разделитель можно поменять, для этого необходимо в функции print() после перечисления всех аргументов обратиться к параметру sep и присвоить ему нужное значение в виде строки.

Например, этот код:

x = 20
y = 30
print(x, y, sep="+")
print(x, y, sep="")
print(x, y, sep="-_-")
print(x, y, 50, 70, sep="|")

выводит

20+30
2030
20-_-30
20|30|50|70

Параметр end

Параметр end задает значение, которое записывается в конец вывода. По умолчанию он равен символу перевода строки \n, именно поэтому при каждом новом print() вывод происходит уже с новой строки. Такое поведение можно изменить, для этого нужно в функции print() в конце обратиться к параметру end и присвоить ему нужное значение в виде строки.

Так, эти две программы эквивалентны:

print(100, end='\n')
print(200)
print(100)
print(200)

Они выводят указанные числа на разных строках

100
200

Данный код:

print(50, end=" ")
print(60)
print(70)

выводит

50 60
70

Перехода на новую строку после первого print() не происходит, поскольку стандартное поведение было изменено. Вместо пробела в качестве параметра end можно передавать любое другое строковое значение.

Существует также возможность комбинирования параметров sep и end внутри одного print().

Приведенный ниже код:

print(10, 20, 30, sep="|", end="!")
print(40, 50)

выводит

10|20|30!40 50
Печать