Similar presentations:
Модули – методы импорта
1. Модули – методы импорта
2.
• Чтобы импортировать функцию somefunction из модуляsomemodule.py, расположенного в папке somemodule,
необходимо создать такую структуру
3.
• Добавьте пустой файл __init__.py в папку somemodule (если егонет). Это необходимо, чтобы Python рассматривал папку как
модуль.
4. Вариант 1: Импорт всей функции напрямую
from somemodule.somemodule import somefunction#somefunction()
5. Вариант 2: Импорт всего модуля
from somemodule import somemodulesomemodule.somefunction()
6. Вариант 3: Импорт с псевдонимом (alias)
from somemodule.somemodule import somefunction as sfsf()
7. Что может быть в __init__.py
• 1. Пустой файл (минимальный вариант)• 2. Импорты для упрощения доступа
# Позволяет импортировать функции напрямую из пакета
from .somemodule import somefunction
from .somemodule import another_function
8.
• 3. Определение интерфейса пакета# Указывает, что будет доступно при импорте *
__all__ = ['somefunction', 'some_class’]
from .somemodule import somefunction, some_class
9.
• 4. Код инициализации пакета# Выполняется при первом импорте пакета
print(f"Пакет somemodule инициализирован")
# Может содержать настройки, конфигурацию
VERSION = "1.0.0“
AUTHOR = "Your Name"
10.
• 5. Реэкспорт функций/классов# Делает функции из подмодулей доступными на уровне пакета
from .submodule1 import func1, func2
from .submodule2 import Class1, Class2
11.
• 6. Условный импорт# Динамический импорт в зависимости от условий
import sysif sys.version_info >= (3, 8):
from .modern_module import feature
else:
from .legacy_module import feature
12.
• 7. Документация пакета"""Пакет somemodule - описание функциональностиЭтот пакет
предоставляет различные полезные функциидля работы с
данными и выполнения сложных вычислений.""“
__version__ = "1.0.0“
__author__ = "Your Name"
13. Пример практического использования:
from .somemodule import somefunction, another_function__all__ = ['somefunction', 'another_function’]
# Инициализация пакета
print("Пакет somemodule загружен")
# Версия пакета
__version__ = "1.0.0"
14. В основном коде:
• # Теперь можно импортировать напрямую из пакета• from somemodule import somefunctionsomefunction()
programming