1.7 Ввод и вывод данных#
Ввод данных позволяет пользователю взаимодействовать с программой, а вывод данных дает возможность программе сообщать пользователю о ее работе. В реальной практике мы не так часто будем сталкиваться с отдельной функцией для ввода, и чаще нужные значения будут жестко прописываться в коде, однако без этой функции не обойтись, например, если мы будем писать консольные приложения. Функция вывода данных будет нами использоваться повсеместно и будет позволять нам получить, увидеть результаты работы нашей программы.
Ввод#
Для ввода данных с клавиатуры в Python есть только одна функция - input. При вызове этой функции выполнение кода будет приостанавливаться и ожидать, пока пользователь введет значения и нажмет enter.
input() # С этого момента в программе начинается ожидание
При запуске функции input внутри Notebook’а будет появляться специальное окно для ввода, сам ввод будет выглядеть интуитивно. При запуске функции из консоли (либо из сред разработки\редакторов кода) в самой консоли будет отображаться просто пустая строка в ожидании, пока пользователь начнет вводить данные, что может оказаться неинтуитивным. Для этого в функции input можно задать дополнительный параметр, в котором будет содержаться отображаемый пользователю текст, который должен являться подсказкой, что сделать пользователю. Для этого достаточно вызвать функцию и внутри скобок указать нужный текст:
input("Введите текст:")
Важно отметить, что любой текст, который вводит пользователь, будет являться текстом, даже если пользователь введет число. Чтобы реально получить число после ввода, надо использовать приведение типов:
user_input = input("Введите число:") # Дадим пользователю ввести число и запишем в переменную
number = int(user_input) # Преобразуем результат ввода к числу
# Здесь же нужно учесть, что если пользователь введет не число, то при выполнении кода будет получена ошибка
Вывод#
Для вывода, печати в консоль, используется функция print. Данная функция будет выводить на печать все, что мы ей перечислим внутри скобок через запятую:
print("some text")
some text
print("some text", 3, 10 + 10, ...)
some text 3 20 Ellipsis
number = input("Введите текст:")
print("Пользователь ввёл:", number)
По умолчанию в качестве разделителя между печатаемыми объектами используется пробел, а в завершении строки ставится символ переноса строки. Используемый разделитель и символ в конце строки тоже можно настроить, для чего используются дополнительные необязательные параметры.
Подробнее об использовании необязательных параметров будет рассказано в главе про функции, а пока можно отметить, что данные параметры указываются только после того, как мы перечислили всё, что нужно вывести на печать. Для разделителя используется параметр sep, для символа конца строки - end:
print(1, 2, 3, 4, 5, sep=" || ")
print(1, 2, 3, 4, 5, sep=" || ")
1 || 2 || 3 || 4 || 5
1 || 2 || 3 || 4 || 5
print(1, 2, 3, 4, 5, end="!!!")
print(1, 2, 3, 4, 5, end="!!!")
1 2 3 4 5!!!1 2 3 4 5!!!
print(1, 2, 3, 4, 5, sep="_", end="!!!")
print(1, 2, 3, 4, 5, end="!!!", sep="0")
1_2_3_4_5!!!102030405!!!
Практические задания