В этом разделе мы поговорим о вводе и выводе данных .. Ранее было показано, что для вывода данных используется инструкция ( функция) print(). Полный синтаксис print() выглядит так:
print ( [] [, sep=' '] [, end= ' \n'] [, file=sys.
stdout])
Разберемся с параметрами функции. Первый параметр - это набор объектов, которые нужно вывести. Список объектов разделяется запятыми. Например:
>>> а = 1; Ь = 2;
>>> print(a, Ь)
1 2
Как видите, между объектами автоматически вставляется разделитель - по умолчанию пробел. Задать собственный разделитель можно с помощью параметра sep. Например, вы можете задать символ табуляции:
>>> print(a, Ь, sep= '\t')
1 2
Параметр end задает конец строки. По умолчанию использует символ '\n', который в Windows автоматически преобразуется в последовательность '\r\n' (перевод каретки и новая строка). Обычно вам не нужно изменять этот параметр при выводе на экран, но может понадобиться его изменение при выводе в файл - все зависит от синтаксиса ( формата) файла.
Последний параметр задает файл, в который осуществляется вывод. По умолчанию вывод осуществляется в файл sys.stdout, что означает стандартный вывод и обычно соответствует экрану (консоли). О работе с файлами мы пока не говорим, просто знайте, что функция print() умеет выводить данные не только на экран, но и в файл.
Вызов функции print() без параметров позволит просто перевести строку (выводится пустая строка):
print ()
Некоторые программисты вместо функции print() предпочитают использовать метод write объекта sys.stdout. Например:
import sys;
sys.stdout.write("Пpивeт")
При первом использовании метода write() нужно сначала импортировать модуль sys, в котором определен этот метод.
Особенность этого метода в том, что он не добавляет символ конца строки, поэтому его нужно при необходимости добавить самостоятельно:
sys.stdout.write("Hello\n")
Для ввода данных в Python 3 используется функция input(). Использовать ее можно так:
[ =] input ( [ ] )
Небольшой пример:
name = input("Kaк тебя зовут? ")
рrint("Привет, ", name)
Работа с программой в IDLE:
>>> name = input("Kaк тебя зовут? ")
Как тебя зовут? Марк
>>> рrint("Привет, " name)
Привет, Марк
>>>
Обратите внимание, что функция input() не выводит после сообщения-приглашения никаких символов, поэтому ввод начнется сразу после выведенного функцией сообщения, что не очень удобно. Поэтому в конец сообщения принято добавлять или пробел или символ новой строки, чтобы ввод начался с новой строки:
>>> narne = input("Kaк тебя зовут?\n")
Как тебя зовут?
Марк
Если пользователь нажмет Ctrl + Z или будет достигнут конец файла (в данном случае речь идет о файле стандартного ввода - stdin), будет сгенерировано исключение EOFError и программа завершит свою работу. Чтобы этого не произошло, нужно произвести обработку этого исключения:
try:
name = input("Kaк тебя зовут? ")
print(name)
except EOFError:
print("EOFError raised")
Подробно обработка исключений рассмотрена не будет, а пока вам нужно знать, как обработать только одно из них - EOFError.