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