Что такое __init__.py для Python?

Python обеспечивает очень простую систему упаковки, которая представляет собой просто расширение механизма модуля в каталог. Любая директория с файлом __init__.py считается пакетом Python. Различные модули в пакете импортируются так же, как и простые модули, но со специальным поведением для файла __init__.py, который используется для сбора всех определений пакета.

На следующем рисунке показана структура стандартного модуля Python.

Что такое __init__.py для

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

Если у вас есть файлы:

 
mysock/socket/__init__.py
mysock/socket/chat.py

и mysock находится на вашем пути Python, вы можете импортировать код в chat.py как

 
import socket.chat

или

 
from socket import chat

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

Источник: http://net-informations.com/python/iq/init.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector