Ho una struttura di pacchetto come segue:Perché gli attributi di accesso al modulo non possono essere dichiarati in __init__.py del suo pacchetto?
mypackage
__init__.py
mymodule.py
metto alcune dichiarazioni "costanti" in __init__.py
ad esempio:
DELIMITER='\x01'
Tuttavia, il codice nel mymodule.py non può accesso DELIMITER a meno che io aggiungo:
from __init__ import *
Verso l'alto della m ymodule.py file. Suppongo di aver perso un concetto qui. È che qualunque cosa viene dichiarata in __init__.py
non viene letta in memoria fino a quando non viene acceduta tramite una dichiarazione di importazione? Inoltre, questo è un tipico tipo di cosa da inserire nel file __init__.py
?
Dove hai avuto l'impressione che avrebbe funzionato senza l'istruzione 'import'? –
@DavidRobinson: dalla documentazione di Python. ["__init__.py Inizializza il pacchetto audio"] (http://docs.python.org/tutorial/modules.html#packages). Non so in quale altro modo avrei interpretato quello che stanno dicendo, a parte l'ipotesi che il codice in __init__.py sia inizializzato da Python. –