Ответ 1
Пакеты будут импортированы перед модулями. Иллюстрированный:
% tree .
.
|-- foo
| |-- __init__.py
| `-- __init__.pyc
`-- foo.py
foo.py
:
% cat foo.py
print 'you have imported foo.py'
foo/__init__.py
:
% cat foo/__init__.py
print 'you have imported foo/__init__.py'
И от интерактивного интерпретатора:
>>> import foo
you have imported foo/__init__.py
Я не знаю, где это официально задокументировано.
Изменить за комментарий: Это было выполнено с помощью Python 2.7 в Mac OS X 10.6.7. Я также выполнил это с помощью Python 2.6.5 на Ubuntu 10.10 и получил тот же результат.