Краткий конспект: Пакеты и модули в Python
- Что такое модуль в Python
Модуль — это отдельный файл с расширением .py, содержащий код Python: функции, переменные, классы.
Назначение модуля:
- повторное использование кода;
- разделение программы на части;
- упрощение поддержки проекта.
Пример модуля:
Файл math_operations.py
def add(a, b):
return a + b
def subtract(a, b):
return a - b
Использование модуля:
import math_operations
result = math_operations.add(5, 3)
print(result)
⸻
- Импорт модулей
2.1 Импорт всего модуля
import math
print(math.sqrt(25))
Особенность: обращение идёт через имя модуля.
⸻
2.2 Импорт отдельных объектов
from math import sqrt
print(sqrt(25))
Импортируется только нужная функция.
⸻
2.3 Импорт с псевдонимом
import math as m
print(m.pi)
Псевдоним сокращает запись.
⸻
2.4 Импорт всех объектов
from math import *
Недостаток:
- засоряет пространство имён;
- может вызвать конфликт имён.
Использовать не рекомендуется.
⸻
- Встроенные и пользовательские модули
Встроенные модули
Поставляются вместе с Python:
- math — математические функции;
- random — случайные числа;
- datetime — работа с датой и временем;
- os — работа с операционной системой.
Пример:
import random
print(random.randint(1, 10))
Пользовательские модули
Создаются программистом в виде .py файлов.
⸻
- Что такое пакет
Пакет — это каталог, содержащий несколько модулей.
Пакеты помогают структурировать большие проекты.
Пример структуры:
project/
├── main.py
├── tools/
├── **init**.py
├── calculator.py
└── converter.py
Здесь:
- tools — пакет;
- calculator.py и converter.py — модули.
⸻
- Файл init.py
init.py показывает, что папка является пакетом.
Может быть:
- пустым;
- содержать код инициализации;
- определять импортируемые элементы.
Пример:
from .calculator import add
⸻
- Импорт из пакета
Импорт модуля:
from tools import calculator
print(calculator.add(2, 3))
Импорт функции:
from tools.calculator import add
print(add(2, 3))
⸻
- Абсолютный и относительный импорт
Абсолютный импорт
Указывается полный путь:
from tools.calculator import add
Относительный импорт
Используется внутри пакета:
from .calculator import add
Точка (.) означает текущий пакет.
⸻
- Переменная name
Позволяет определить, запускается файл напрямую или импортируется.
Пример:
def hello():
print("Привет")
if name == "main":
hello()
Если файл запущен напрямую — код выполнится.
Если импортирован — нет.
⸻
- Преимущества модулей и пакетов
Модули:
- повторное использование кода;
- удобство тестирования;
- уменьшение объёма программы.
Пакеты:
- структурирование проекта;
- разделение логики;
- удобство сопровождения больших программ.
⸻
- Основные выводы
- Модуль — файл .py с кодом.
- Пакет — папка с несколькими модулями.
- Импорт выполняется через import и from.
- init.py используется для организации пакета.
- Модули и пакеты делают код структурированным и удобным для поддержки.