The Python Programming Guide

Модули

Что такое модуль

Модуль можно считать библиотекой кода. В Python любой файл с кодом считается модулем. Директория, содержащая один или несколько файлов, также считается модулем. В таком случае сами файлы называются обычно подмодулями.

Предпочтительно модули все же не называть библиотекой, так как может возникнуть путаница, если, допустим, имеется библиотека написанная на другом языке для Python (например, на C/C++), которая обычно называется как раз таки библиотекой, а не модулем.

Создание модуля

Для создания модуля сохраним файл mymodule.py и добавим в него следующие строки кода:

def greeting(name):
    print("Привет,", name)

pi = 3.1415

В целом модуль готов, в нём содержится функция и переменная с грубым округлением числа Пи.

Использование import

Для подключения модуля используется специальная функция import. Импортируем только что созданный модуль и используем всё что в нём есть:

import mymodule

print("Число Пи:", mymodule.pi)
mymodule.greeting("Мир")
Число Пи: 3.1415
Привет, Мир

Также можно импортировать из модуля что-то конкретное с помощью выражения from-import:

from mymodule import pi

print(pi)
mymodule.greeting("планета")
3.1415
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'mymodule' is not defined

Как видно из примера, была импортирована только переменная pi из модуля mymodule, однако сам модуль и его содержимое нет.

Переименование модуля

Python позволяет присвоить другое имя модулю или другому компоненту из него на стадии импортирования с помощью ключевого слова as:

import mymodule as cool_module

cool_module.greeting("классный модуль")
Привет, классный модуль

Встроенные модули

В Python также имеется ряд встроенных модулей, которые вы можете импортировать под ваши нужды. Возьмём, к примеру, модуль math, который содержит математические функции (экспоненту, тригонометрические функции и др.):

import math

print("Число Пи с неплохим округлением:", math.pi)
print(math.cos(math.pi))
Число Пи с неплохим округлением: 3.141592653589793
-1.0

Подсказка

Можно получить список имён функций, переменных и др., содержащихся в модуле с помощью встроенной функции dir():

import mymodule

print(dir(mymodule))
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'greeting', 'pi']