Модули и пакеты
Импорт модулей
# Полный импорт
import math # импорт математического модуля
math.sqrt(16) # математическая функция
# Импорт с псевдонимом
import numpy as np # импорт модуля
np.array([1, 2, 3])
# Импорт конкретных функций
from math import sqrt, pi # импорт модуля
sqrt(16)
# Импорт всех (не рекомендуется)
from math import *
Создание модуля
Любой .py файл — это модуль.
# utils.py
def greet(name):
return f"Привет, {name}" # возврат значения
PI = 3.14159 # числовое значение
# main.py
import utils # импорт модуля
print(utils.greet("Анна")) # вывод в консоль
print(utils.PI) # вывод в консоль
__name__ и __main__
# utils.py
def greet(name):
return f"Привет, {name}" # возврат значения
if __name__ == "__main__": # условие
# Этот код выполнится только при запуске файла
print(greet("Мир")) # вывод в консоль
Пакеты
Пакет — это директория с файлом __init__.py.
my_package/
├── __init__.py
├── module_a.py
└── module_b.py
# __init__.py
from .module_a import func_a # импорт модуля
from .module_b import func_b # импорт модуля
# Использование
import my_package # импорт модуля
my_package.func_a()
from my_package import func_b # импорт модуля
Стандартные модули (часто используемые)
| Модуль | Назначение |
|---|---|
| os | Работа с ОС, пути, переменные окружения |
| sys | Системные параметры, аргументы командной строки |
| json | Работа с JSON |
| re | Регулярные выражения |
| datetime | Дата и время |
| math | Математические функции |
| random | Случайные числа |
| pathlib | Работа с путями (объектно) |
| collections | Специализированные коллекции |
| itertools | Инструменты для итераторов |
| functools | Функциональное программирование |
| logging | Логирование |
| argparse | Парсинг аргументов командной строки |