Книга: Как устроен Python. Гид для разработчиков, программистов и интересующихся
Назад: 4. Запуск программ
Дальше: 6. Переменные

5. Запись и чтение данных

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

5.1. Простой вывод

Чтобы вывести данные для пользователя, проще всего воспользоваться функцией print, которая записывает данные в стандартный вывод — поток, в который компьютер направляет выходные данные. Если вы работаете в терминале, то стандартный вывод направляется на терминал:

>>> print('Hello there')

Hello there

Чтобы вывести несколько значений, разделите их запятыми. Python автоматически вставляет пробелы между ними. При вызове функции print можно указывать строки и числа:

>>> print('I am', 10, 'years old')

I am 10 years old

Позднее в этой главе строки будут рассмотрены более подробно. Вы узнаете, как отформатировать их, чтобы придать выходным данным нужный вид.

5.2. Получение данных от пользователя

Встроенная функция input читает текст с терминала. Эта функция получает текст подсказки, который выводится на экран, а затем ожидает, пока пользователь введет что-либо в стандартном вводе и нажмет Enter. Стандартный ввод представляет собой поток, из которого компьютер получает входные данные. В терминале стандартный ввод может читаться из символов, вводимых вами с клавиатуры:

>>> name = input('Enter your name:')

Если ввести эту команду в интерпретаторе (пробелы по обе стороны от = необязательны, но их рекомендуется вводить, чтобы код лучше читался), может показаться, что ваш компьютер завис. На самом деле Python ожидает, когда вы что-нибудь введете и нажмете Enter. После нажатия Enter введенные данные будут сохранены в переменной name. Введите имя Matt и нажмите клавишу Enter. Если теперь вывести значение name, программа выведет только что введенное вами значение:

>>> print(name)

Matt

ПРИМЕЧАНИЕ

Значение, введенное в терминале при вызове input, всегда представляет собой строку. Если вы попытаетесь выполнить с ним математические операции, результат может оказаться не тем, на который вы рассчитывали:

>>> value = input('Enter a number:')

3

>>> other = input('Enter another:')

4

Если теперь попытаться сложить value с other, будет выполнена конкатенация (сцепление строк), потому что в обеих переменных хранятся строки:

>>> type(value)

<class 'str'>

>>> value + other

'34'

Если вы хотите сложить числа, содержащиеся в строках, их необходимо преобразовать из строкового типа к числовому. Для преобразования строк к другому типу, например целому или вещественному, используются функции int и float соответственно.

Чтобы сложить значения value и other в числовом виде, преобразуйте их в числа функцией int:

>>> int(value) + int(other)

7

В следующей главе числовые и строковые типы будут рассмотрены более подробно.

5.3. Итоги

Python предоставляет две функции для простого вывода данных на экран и получения данных от пользователя. Это функции print и input. Помните, что при вызове функции input вы всегда получаете строку.

5.4. Упражнения

1. Напишите код Python, который запрашивает у пользователя его имя, после чего выводит Hello и введенное имя.

2. Напишите программу, которая запрашивает у пользователя его возраст. Выведите сообщение, в котором говорится, сколько лет будет пользователю в следующем году.

Назад: 4. Запуск программ
Дальше: 6. Переменные