Вход
Русский
USD
Цены в иностранной валюте приведены информационно

Импорт модулей в Python 3

Мы покажем вам как импортировать сторонние модули в Python 3

Язык Python все любят за то, что он имеет большое количество встроенных функций. Из стандартных можно выделить такие:

• Отображение значения с помощью команды print();

• Возврат длины коллекции и последовательности за счет len();

• Возврат абсолютного значения числа посредством abs();

• Преобразование данных в целое число командой int();

Вышеописанных функций мало кому будет достаточно. Поэтому и придумывают модули для расширения функционала. Это файлы, написанные на языке Python с кодом и имеющие расширение .py. Вы можете ссылаться на любой файл, как на модуль, просто опустив расширение при обращении. Такой модуль вы можете использовать в командной строке, а также импортировать его в другие файлы на Python.

Кроме того, модули также определяют переменные, функции, классы. На них также можно ссылаться в других файлах при помощи интерпретатора командной строки языка Python. Посредством команды import вы сможете импортировать модули. Определения сохраняются при выполнении кода Python, поэтому файл и может их использовать. При импорте модуля hello языка Python, интерпретатор сначала будет искать его во встроенных модулях. Если это не удастся, то поиск файла hello.py продолжится в папках, которые заданы в sys.path.

В нашей статье мы покажем, как ставить модули, а также импортировать их и делать им псевдонимы.

1) Как просмотреть инсталлированные модули?

Большое количество модулей содержатся в Python Standard Library. Они предоставляют стандартные решения, а также доступ к функциональным возможностям системы. Библиотека ставится при установке языка Python. Если вы хотите убедиться в доступности модулей, то придется зайти в среду разработки и запустить интерпретатор языка Python. Для этого наберите в командной строке:

Python

Чтобы убедиться в готовности модуля к работе, запускаем оператор import посредством:

import math

данный модуль встроенный, поэтому вывода мы не увидим. Т.е. для его запуска не требуется ничего делать. Теперь попробуем задать имя модуля, который не является дефолтным. Наберите в командной строке:

import matplotlib

Команда вернет ошибку, если такого модуля нет:

ImportError: No module named 'matplotlib'

Для его инсталляции посредством pip нам нужно отключить интерпретатор Python. Это можно сделать посредством комбинации клавиш Ctrl+D. Наберите в консоли:

pip install matplotlib

Когда модуль будет установлен, нужно попробовать его импортировать.

2) Как импортировать модули?

Для доступа к функциям модуля импортируйте его посредством оператора import. Он состоит из имени модуля и ключевика import. Данное выражение должно располагаться в верхней части кода документа на Python. Для импорта модуля random, генерирующего случайные числа, в программу my_rand_int.py потребуется открыть файл и написать:

import random

После этого модуль станет доступным в качестве отдельного пространства имен в текущей открытой программе. Поэтому на функцию можно ссылаться в точечной нотации ([module].[function]).

Вышеописанный модуль random будет работать в качестве функции, если использовать:

• random.randint() для вызова функции, которая может вернуть случайное число;

• random.randrange() способен вызвать функцию, возвращающую из заданной последовательности случайный элемент.

Теперь сделаем цикл for, ведь это даст нам возможность увидеть в работе модуль random. Нужно открыть файл my_rand_int.py чтобы внутрь добавить:

import random
for i in range(10):
print(random.randint(1, 25))

Программа импортирует модуль random, после чего идет запуск цикла for, способного обработать 10 элементов. Кроме того, она способна выдать любое целое число от 1 до 20. Данные значения в качестве параметров задаются посредством random.randint(). Сначала запустим программу с помощью:

python my_rand_int.py

На дисплее вы увидите 10 случайных значений из указанного диапазона.

16
7
11
1
8
20
16
9
4
19

При необходимости применения функций нескольких модулей, потребуется добавить для каждого команду import:

import random
import math

Имейте ввиду, что некоторые программы могут импортировать несколько модулей, но внутри одного выражения import разделяют их запятыми. Однако это несколько противоречит руководству по написанию кода РЕР8. Для применения второго импортированного, добавьте в программу константу pi, либо снизьте количество выдаваемых случайных чисел. Наберите:

import random
import math
for i in range(8):
print(random.randint(1, 20))
print(math.pi)

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

8
1
17
6
10
3
13
3.141592653589793 

3) Использование выражения from… import

Оно может пригодиться для ссылки в пространстве имен на элементы из модуля. При импорте модулей таким образом, получится ссылаться на функцию не по точечным нотациям, а по имени. Конструкция from… import позволит вам указать напрямую, на какие определения нужно ссылаться. Кроме того, оператор import ссылается в некоторых программах на все определения модуля посредством символа *. Однако такой подход также противоречит стандартам. Импортируем из модуля random функцию randint(). Наберите в консоли:

from random import randint

В первую очередь нам придется вызвать ключевик from, а также задать название модуля. После этого используется import с заданием нужной функции. Благодаря этому можно не использовать нотацию (random.randint()), а просто указать randint() в консоли:

from random import randint
for i in range(10):
print(randint(1, 20))

На экране вы увидите вывод чисел, как и в прошлом варианте. Ведь конструкция from … import дает возможность вызывать функции не используя точечную нотацию.

4) Применение псевдонимов модулей

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

import [module] as [another_name]

Заменим имя модуля math, сократив его до m в файле программы my_math.py. Наберите в консоли:

Имейте ввиду, что на число pi теперь мы будем ссылаться с помощью m.pi, а не как ранее на math.pi. кроме того, для некоторых модулей, обращение применяется в обязательном порядке. В документации к matplotlib.pyplot разработчики рекомендуют использовать сокращение plt:

import matplotlib.pyplot as plt

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

При импорте вы получите доступ к сторонним функциям языка Python. Некоторые модули поставляются по умолчанию вместе с языком Python. Другие же вы сможете поставить на счет pip. Они необходимы для повышения производительности и надежности программы. Кроме того, требуемые модули можно создавать самостоятельно.

Опубликовано: Июнь 26, 2017