Ввод, вывод и импорт в Python
В этом руководстве вы познакомитесь с двумя встроенными функциями — print()
и input()
. Они нужны для вывода и ввода соответственно. Также вы узнаете, как импортировать модули и использовать их в своей программе.
В Python существует множество встроенных функций — использовать их можно прямо в командной строке.
Функции вроде input()
и print()
используются для операций ввода и вывода. Подробное знакомство мы начнем с вывода.
Вывод
Функция print()
используется для вывода данных на экран. Эти данные мы можем записать и в файл, но об этом мы поговорим позже.
Пример использования
print('Это предложение выводится на экран')
Вывод:
Это предложение выводится на экран
Еще один пример
a = 5
print('Значение переменной а =', a)
Вывод:
Значение переменной а = 5
Как вы могли заметить, во втором примере с print()
между строкой и переменной стоит пробел. По умолчанию вывод происходит именно так, но это можно изменить.
Синтаксис
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
objects
— то, что мы хотим вывести.sep
— разделитель между переменными. По умолчанию это пробел.end
— то, чем кончается строка. По умолчанию это переход на новую строку.file
— объект, указывающий, куда нужно производить вывод. По умолчанию данные выводятся на экран —sys.stdout
.
Примеры
print(1, 2, 3, 4)
print(1, 2, 3, 4, sep='*')
print(1, 2, 3, 4, sep='#', end='&')
Вывод:
1 2 3 4
1*2*3*4
1#2#3#4&
Форматирование вывода
Иногда нужно отформатировать вывод, чтобы он выглядел соответствующим образом. Для этого есть метод str.format()
. Его можно использовать с любым строковым объектом.
>>> x = 5; y = 10
>>> print('Значение х = {}, а y = {}'.format(x,y))
Значение x = 5, а y = 10
Фигурные скобки {}
здесь выступают в виде заполнителей. Порядок их вывода можно изменять с помощью индексов (индексов кортежа).
print('Я люблю {0} и {1}'.format('хлеб', 'масло'))
print('Я люблю {1} и {0}'.format('хлеб', 'масло'))
Вывод:
Я люблю хлеб и масло
Я люблю масло и хлеб
Для форматирования строк можно использовать именованные аргументы.
>>> print('Привет, {имя}, {пожелания}'.format(пожелания = 'доброго утра', имя = 'Иван'))
Привет, Иван, доброго утра
Для форматирования строк можно использовать sprintf()
. Это старый способ, который использовался еще в языке Си. Для этого используется оператор %
.
>>> x = 12.3456789
>>> print('Значение x = %3.2f' %x)
Значение x = 12.35
>>> print('Значение x = %3.4f' %x)
Значение x = 12.3457
Ввод
До этого момента все наши программы были статическими — все значения переменных мы объявляли заранее.
Теперь нам нужно больше свободы — возможно, мы захотим получить данные от пользователя. В Python для этих целей существует функция input()
. Ее синтаксис выглядит так:
input([prompt])
promt
— это строка, которую мы хотим вывести на экран.
>>> num = input('Введите число: ')
Введите число: 10
>>> num
'10'
Как можно заметить, введенное значение — строка, а не число. Преобразовать это значение в число можно с помощью функции int()
или float()
.
>>> int('10')
10
>>> float('10')
10.0
Эту же операцию можно выполнить с помощью функции eval()
. У eval()
есть преимущество — эта функция может проводить расчеты даже если в качестве аргумента передана строка.
Импорт модулей
По мере количества строк вашего кода будет не лишним начинать пользоваться модулями.
Модуль — это файл, содержащий функции и операторы. У всех модулей в Python есть имя, которое заканчивается расширением .py
.
Операторы внутри модуля могут быть импортированы в другой модуль или в интерпретатор Python. Для этого мы используем ключевое слово import
.
Например, мы можем импортировать модуль math
. Делается это следующим образом:
import math
Пример использованияя
import math
print(math.pi)
Вывод:
3.141592653589793
Теперь все переменные внутри модуля math
доступны в нашей программе. Можно импортировать и только определенные функции и переменные из модуля.
Пример
>>> from math import pi
>>> pi
3.141592653589793
При импорте модуля Python просматривает несколько директорий, определенных в sys.path
. Список местоположений директорий:
>>> import sys
>>> sys.path
['',
'C:\\Python33\\Lib\\idlelib',
'C:\\Windows\\system32\\python33.zip',
'C:\\Python33\\DLLs',
'C:\\Python33\\lib',
'C:\\Python33',
'C:\\Python33\\lib\\site-packages']
В этот список можно включать и свои директории.