Как python определяет приоритет __всех__ по сравнению с инструкциями импорта в __пакете init__.py досье?

#python-3.x

Вопрос:

Предположим, что в пакете есть несколько модулей, и если мы это сделаем import packagename , то ни один из модулей не будет импортирован. Это поведение по умолчанию.

Однако это можно контролировать с помощью:

  1. Наличие import modulename инструкции в файле пакета __init__.py
  2. Наличие переменной __all__=[modulename]

Я хочу понять, существует ли определенный порядок, в котором оцениваются вышеперечисленные варианты. Например, предположим, что у меня есть import modulename оператор в __init__.py файле, и __all__ он задан как пустой список ( __all__=[] ), тогда python, столкнувшись import packagename с детерминированным импортом модуля или нет?