Модули – методы импорта
Вариант 1: Импорт всей функции напрямую
Вариант 2: Импорт всего модуля
Вариант 3: Импорт с псевдонимом (alias)
Что может быть в __init__.py
Пример практического использования:
В основном коде:
62.87K
Category: programmingprogramming

Модули – методы импорта

1. Модули – методы импорта

2.

• Чтобы импортировать функцию somefunction из модуля
somemodule.py, расположенного в папке somemodule,
необходимо создать такую структуру

3.

• Добавьте пустой файл __init__.py в папку somemodule (если его
нет). Это необходимо, чтобы Python рассматривал папку как
модуль.

4. Вариант 1: Импорт всей функции напрямую

from somemodule.somemodule import somefunction#
somefunction()

5. Вариант 2: Импорт всего модуля

from somemodule import somemodule
somemodule.somefunction()

6. Вариант 3: Импорт с псевдонимом (alias)

from somemodule.somemodule import somefunction as sf
sf()

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()
English     Русский Rules