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

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

Любую импортированную в программу функцию затем можно вызвать, используя суффиксную (или точечную) запись, а именно имя-модуля.имя-функции. Например, чтобы вызвать функцию steps из импортированного модуля с именем ineasy, достаточно набрать ineasy.steps().

Когда хранящиеся в модуле функции включают в себя какие-либо аргументы, очень часто полезным будет назначать этим аргументам значения по умолчанию при определении функции. Это сделает функцию более универсальной, так как при вызове ее из какого-либо места программы указание аргументов становится необязательным.

При импорте модуля вы можете создавать его псевдоним, используя ключевые слова import as. Например:

import math as m
m.sin(m.pi/2)

Существует способ импортирования всех имен функций в таблицу символов программы. Для этого используется шаблон * после ключевого слова import. В этом случае все импортированные функции можно будет вызывать без префикса имени модуля.

Например:

from dog import *