Почему нельзя получить доступ к атрибутам модуля, объявленным в __init __.py его пакета?

У меня есть структура пакета следующим образом:

mypackage
  __init__.py
  mymodule.py

Я поместил несколько "константных" объявлений в __init__.py, например:

DELIMITER='\x01'

Однако код в mymodule.py не может получить доступ к DELIMITER, если я не добавлю:

from __init__ import *

В начало файла mymodule.py . Я полагаю, что я пропустил концепцию здесь. Дело в том, что все, что объявлено в __init__.py, не считывается в память до тех пор, пока к нему не будет получен доступ через оператор импорта? Кроме того, это типичный тип вещей для помещения в файл __init__.py?

6
задан Sam Goldberg 31 July 2012 в 20:02
поделиться