Ввод, вывод и импорт в 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:\\Python313\\Lib\\idlelib',
'C:\\Windows\\system32\\python313.zip',
'C:\\Python313\\DLLs',
'C:\\Python313\\lib',
'C:\\Python313',
'C:\\Python313\\lib\\site-packages']
В этот список можно включать и свои директории.
Закрепите практикой
Задачи с автоматической проверкой — решайте прямо здесь, не уходя из учебника.