Статья

Python: модули и импорт

5 сентября 2026~8 минут10–11 класс

Пять минут на эту статью — и «Python: модули и импорт» станет понятнее. Внутри: теория без воды, пример, разбор задания и чек-лист самопроверки.

Зачем нужны модули в Python

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

Модуль в Python — это обычный файл с расширением .py. В нём могут находиться переменные, функции, классы и готовые команды. Например, файл geometry.py может хранить вычисления для фигур, а файл main.py — запуск программы и взаимодействие с пользователем.

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

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

Как работает import

Для подключения модуля используется команда import. После неё пишут имя модуля без расширения файла. Обращение к объекту из модуля выполняется через точку: сначала имя модуля, затем имя функции или переменной.

import math
\( result = math.sqrt(81) \)
print(result)

Здесь подключён стандартный модуль math, а функция sqrt вычисляет квадратный корень. Результатом будет число 9. В математических задачах полезны также math.pi, math.ceil(), math.floor() и math.factorial().

Можно задать модулю короткое имя с помощью as. Это удобно, если название длинное или встречается много раз.

import math as m
print(m.pi)
print(m.ceil(2.3))

Псевдоним действует только в текущем файле. Он не изменяет сам модуль и не создаёт новый объект.

Совет репетитора

Читай импорт как фразу «подключи модуль и обратись к его инструменту». Точка после имени модуля помогает сразу увидеть, откуда взялась функция.

Импорт отдельных объектов

Иногда не нужно подключать весь модуль через его имя. Конструкция from ... import ... позволяет взять конкретную функцию, константу или класс. После этого объект можно использовать напрямую, без записи имени модуля.

from math import sqrt, pi
print(sqrt(25))
print(pi)

Такой вариант делает короткий код, но требует внимательности: по одному имени не всегда понятно, откуда объект пришёл. Если в программе есть две функции с одинаковым названием, одна может случайно заменить другую.

Для переименования импортируемого объекта снова применяется as.

from math import factorial as fact
print(fact(5))

Импортировать всё содержимое модуля через звёздочку обычно не советуют:

from math import *
print(sqrt(36))

Такой код действительно работает, но имена становятся менее прозрачными, а совпадения могут привести к неожиданным результатам. Для учебных решений безопаснее писать import math или перечислять нужные объекты явно.

Если хочешь сразу потренироваться на небольших задачах с импортом и функциями, это удобно делать в бесплатной практике в личном кабинете.

Собственный модуль и порядок поиска

Создадим файл converter.py с функцией перевода градусов Цельсия в Фаренгейты:

def to_fahrenheit(celsius):
\( return celsius \times \dfrac{9}{5} + 32 \)

Теперь в файле main.py, расположенном в той же папке, можно написать:

import converter
\( temperature = converter.to_fahrenheit(20) \)
print(temperature)

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

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

Файл с тестовыми командами лучше не оставлять на верхнем уровне модуля. Для этого используют условие:

if __name__ == "__main__":
    print(to_fahrenheit(20))

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

Типичные ошибки при импорте

Первая ошибка — написать расширение файла: import converter.py. Правильно только import converter. Вторая — перепутать имя файла и имя функции. Если в converter.py нет функции convert, команда from converter import convert завершится ошибкой.

Третья проблема — циклический импорт. Например, a.py импортирует b.py, а b.py снова импортирует a.py. В результате часть объектов может ещё не существовать в момент обращения. Обычно помогает вынести общую функцию в третий модуль.

ОшибкаЧто происходитКак исправить
ModuleNotFoundErrorPython не нашёл модульПроверь имя, папку и установку библиотеки
ImportErrorВ модуле нет указанного объектаСверь название функции или класса
AttributeErrorУ модуля нет такого атрибутаПроверь обращение через точку
Ловушка

Не называй свой файл так же, как стандартный модуль: random.py, math.py или statistics.py. Python может подключить твой файл вместо библиотеки.

Закрепить тему можно через практику в личном кабинете: создай маленький модуль и подключи из него две функции.

Что запомнить

Модуль — это файл Python, который хранит связанные объекты. Команда import имя подключает модуль целиком, а обращение через точку показывает источник функции или переменной. Конструкция from имя import объект импортирует выбранные элементы напрямую. Псевдоним as сокращает запись, но не меняет поведение объекта.

При создании собственного модуля проверь расположение файлов, точность имён и отсутствие конфликтов со стандартной библиотекой. Если появилась ошибка, сначала прочитай её название, затем проверь строку импорта и содержимое подключаемого файла.

Следующий шаг: зарегистрируйся и реши 5 заданий бесплатно. Попробуй не просто повторить команды, а написать модуль с функциями для площади прямоугольника, круга и треугольника, а затем вызвать их из отдельного файла.

Что такое модуль в Python?

Модуль — это файл с расширением .py, содержащий функции, переменные, классы или команды, которые можно использовать в другой программе.

Чем отличаются import и from import?

import math подключает модуль, и объект вызывают как math.sqrt(). При from math import sqrt функция импортируется отдельно и вызывается как sqrt().

Почему возникает ModuleNotFoundError?

Python не смог найти модуль. Проверь имя файла, текущую папку, путь поиска и установку внешней библиотеки.

Как закрепить тему после разбора?

Составь собственный модуль с двумя-тремя функциями, подключи его в другом файле и реши несколько задач на импорт. Для дополнительной практики можно открыть раздел подготовки к ЕГЭ или ОГЭ.

Закрепить тему на практике

Теория без практики забывается за неделю. В личном кабинете Просто Урок — задания именно по этой теме с проверкой каждого шага. Регистрация бесплатная.

Важно. Материалы сайта носят информационно-образовательный характер и не являются публичной офертой (ст. 437 ГК РФ), индивидуальной консультацией или руководством к действию. Мы аккуратно работаем с фактами, но не гарантируем полную точность и актуальность: структура и правила экзаменов могут меняться — сверяйтесь с официальными источниками (ФИПИ, действующие кодификаторы и нормативные акты РФ). Администрация сайта не несёт ответственности за возможные неточности и за решения, принятые на основе материалов. Заметили неточность — напишите нам, мы исправим.