July 6

Python: ввод и вывод данных

В этой статье мы познакомимся с двумя встроенными функциями — print() и input(). Они нужны для вывода и ввода соответственно. Давайте начнём с вывода, поскольку с ним мы уже сталкивались ранее.

Вывод данных, команда print

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

Внутри круглых скобок пишем, что хотим вывести на экран. Если это текст, то обязательно указываем его внутри кавычек. Кавычки могут быть одинарными (') или двойными ("). До и после текста мы ставим только одинаковые кавычки.

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

print('Привет мир! Я изучаю Python.')

выводит:

Привет мир! Я изучаю Python.

Если вы напишите этот код в VS Code, то вывод отобразится во вкладке TERMINAL:

Использование кавычек

Мы можем использовать, как 'одинарные' кавычки, так и "двойные". Python не делает различий между одинарными и двойными кавычками: они работают одинаково для определения строк.

Однако у вас мог возникнуть вопрос: "Если мы можем использовать разные кавычки, то для чего это нужно?". Вопрос закономерный и правильный. Python использует различные кавычки для обрамления текста.

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

print('В тексте есть "двойные" кавычки')
print("В тексте есть 'одинарные' кавычки")

выводит:

В тексте есть "двойные" кавычки
В тексте есть 'одинарные' кавычки

Надеюсь, что при помощи этого примера, вы поняли, для чего нам нужны разные кавычки :)

Что можно выводить при помощи print?

На самом деле, вы можете выводить почти все встроенные типы данных поддерживаемые Python. (Совсем скоро мы с ними познакомимся , а пока давайте продолжим изучение функции print)

То, что мы пишем в круглых скобках у команды print(), называется аргументами  функции.

Аргументы – это конкретные значения, которые вы передаете функции при ее вызове.

Команда print() позволяет указывать несколько аргументов, в таком случае их надо отделять запятыми.

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

print('Я', 'учусь', 'программировать', 'на', 'Python!')

выводит:

Я учусь программировать на Python!

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

Запомни: при написании кода между аргументами команды print() после запятой мы ставим один символ пробел. Это общепринятое соглашение в языке Python. Этот символ пробела не влияет на вывод данных. Делается это для повышения читабельности кода.

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

Рассмотрим на примере:

print("Здесь, я напишу первый текст")
print("Вот тут уже будет второй")

получим вывод:

Здесь, я напишу первый текст
Вот тут уже будет второй

Что будет если написать print, без аргументов? Всё будет хорошо, Python просто вставит пустую строку вместо текста.

Пример:

print("Здесь, я напишу первый текст")
print()
print("Вот тут уже будет второй")

выведет:

Здесь, я напишу первый текст

Вот тут уже будет второй

Необязательные параметры

У этой функции имеется два необязательных именованных параметра, которые довольно часто используются в практике программирования:

  • sep – разделитель между данными;
  • end – завершающий символ или строка.

Рассмотрим их применение на практике, предположим, мы выводим три переменные:

a = -6.84
b = 7
c = 25.6
print(a, b, c)

Вывод:

-6.84 7 25.6

При выводе между каждой переменной автоматически ставится один символ пробела. Но мы можем изменить это поведение при помощи параметра sep (сокращение от английского слова separator, в переводе "разделитель")

print(a, b, c, sep=" | ")

Вывод:

-6.84 | 7 | 25.6

В качестве разделителя вы можете указывать любые символы, которые вам захочется. Единственное исключение - символ обратного слеша \. Это один из специальных символов, о которых мы также еще будем говорить.

Второй необязательный параметр end. Судя из названия и проводя аналогию с sep, получается, что этот параметр отвечает за окончание строки вывода.

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

Рассмотрим ещё раз :)

print("Здесь, я напишу первый текст")
print("Вот тут уже будет второй")

получим вывод:

Здесь, я напишу первый текст
Вот тут уже будет второй

Теперь изменим значение end и посмотрим на результат:

print("Здесь, я напишу первый текст", end=' + ')
print("Вот тут уже будет второй")

Результат:

Здесь, я напишу первый текст + Вот тут уже будет второй

Заметили разницу? Отлично!

На этом мы закончим наше базовое знакомство с функцией print и выводом данных на экран. Давайте же приступим к знакомству с вводом данных.

Ввод данных, команда input()

Все предыдущие программы выводили на экран текст, известный в момент написания программного кода. Однако программы могут работать с данными, которые станут известны только во время выполнения программы. Другими словами, программы могут считывать данные, а затем их использовать.

Для считывания данных в языке Python используется команда input().

Ее синтаксис выглядит так:

input([prompt])

prompt — это строка, которую мы хотим вывести на экран, когда будем запрашивать ввод с клавиатуры у пользователя.

Рассмотрим на примере, как это работает и выполним следующий код в VS Code:

user_name = input('Введите ваше имя: ')
print(user_name)

Как вы можете заметить, сначала вывелся текст, который мы поместили внутри input, а после появилась возможность ввести данные с клавиатуры.

Давайте представим следующую ситуацию: Вы хотите написать программу, которая знакомилась бы с человеком, использующим её, и желала ему удачи.

Сначала нужно определиться с тем, как будет работать программа:

  1. Сначала нам нужно поприветствовать пользователя
  2. Узнать его имя
  3. Пожелать удачи

Отлично, только что, вы структурировали нашу задумку в техническую задачу. Вы большие молодцы! Настоящие программисты сначала обдумывают, как будет работать программа, а не пишут код в слепую! Приступим к реализации:

  1. Поздороваемся с пользователем и узнаем имя пользователя:
print("Здравствуйте, я робот Саша! Как вас зовут?")
  1. Запросим имя пользователя при помощи функции input и запишем её значение в переменную name:
print("Здравствуйте, я робот Саша! Как вас зовут?")
name = input()
  1. Выведем пожелание удачи пользователю на экран, используя данные из переменной :
print("Здравствуйте, я робот Саша! Как вас зовут?")
name = input()
print("Удачи в изучении языка Python", name, "!")

Выполним этот код в VS Code и посмотрим на его выполнение:

Смотрите, программа вывела текст, а потом запросила ввод из терминала (Место куда указывает красная стрелочка), теперь мы можем написать своё имя, нажать на клавишу Enter и посмотреть на то, что получилось:

Отлично, программа работает!

Задание: подумайте, как можно переписать программу при помощи ваших знаний о prompt.

Что необходимо запомнить:

  1. Для вывода данных на экран, используется функция print(), у которой есть два необязательных параметра sep и end.
  2. Если вы хотите вывести текст, его необходимо "обернуть" в кавычки. Для этого можно использовать, как одинарные, так и двойные.
  3. Мы можем передавать переменные в print(), записывая их через пробел в скобочках. Переменные разделяются друг от друга запятой, после которой должен идти символом пробела. Пример: print(first_name, last_name, '!')
  4. Для получения данных с клавиатуры, используется функция input([prompt]). prompt - это текст, который будет выводиться перед запросом на ввод данных.

P.S. Больше статей вы можете посмотреть в нашем телеграмм канале.