Ввод и вывод данных
В прошлом уроке мы познакомились с переменными и изучили азы работы с ними. В нём данные мы задавали сами, но зачастую они заранее нам неизвестны и подаются в процессе выполнения программы, для такого ввода нам понадобится функция 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
и разделяют и с помощью одного пробела.
Символ-разделитель можно поменять, для этого необходимо в функции 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