Зачем нужен файл __init__.py?

Зачем нужен файл __init__.py?

Файл init.py играет важную роль в организации кода в пакетах Python и позволяет более эффективно структурировать вашу программу. 

Он может содержать переменные, функции, классы и специальные методы, которые будут доступны при импортировании пакета, и определяет, какие модули будут импортированы при использовании символа ‘*’ в импорте. Без файла init.py пакет не будет распознан как таковой, поэтому этот файл является необходимым для создания пакетов в Python.

Допустим, у вас есть пакет «music» с файлами init.py, song.py и artist.py

Файл init.py содержит следующий код:

from .song import Song
from .artist import Artist

__all__ = ['Song', 'Artist']

Теперь, если вы импортируете этот пакет и используете символ ‘*‘ для импорта всех элементов пакета, то будут импортированы только Song и Artist, так как именно эти модули определены в списке all в файле init.py:

from music import *

my_song = Song('My Heart Will Go On', 'Celine Dion')
my_artist = Artist('Celine Dion')

my_song.play()
my_artist.play_song(my_song)

Таким образом, файл init.py помогает определить, какие модули будут доступны при импортировании пакета и позволяет более гибко управлять импортом элементов пакета в вашем коде.

Егор Егоров

Программирую на Python с 2017 года. Люблю создавать контент, который помогает людям понять сложные вещи. Не представляю жизнь без непрерывного цикла обучения, спорта и чувства юмора.

Ссылка на мой github есть в шапке. Залетай.

Оцените автора
Егоров Егор
Добавить комментарий