Почему модуль импортируется даже без файла __init__ в его пакете?

Всем добрый!
Изучаю Лутца "Изучаем Python 4 изд." и вот появился такой вопрос:

Импортирую dir1.module в main.py имея такую структуру:
dir0\          
    dir1\
        __init__.py
       module.py
main.py


В книге написано, что "каждый каталог в пути, указанном в инструкции импортирования пакета, должен содержать файл с именем __init__.py, в противном случае операция импорта пакета будет терпеть неудачу. "
Но у меня получается так, что модуль удачно импортируется и его функции выполняются даже если файла __init__ в пакете нет. Как так? Книга устарела?
  • Вопрос задан
  • 113 просмотров
Решения вопроса 1
aRegius
@aRegius
Python Enthusiast
Насколько я помню, это требование утратило свою актуальность с версии Python 3.3. Лутц, вроде, об этом писал. Правда, так как я стараюсь читать самые свежие издания и в оригинале, моя настольная версия книги - 5-е издание 2013 года, последнее на текущий момент.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы