Ho due situazioni specifiche in cui io non capisco come l'importazione di opere in Python:Come funziona esattamente l'importazione Python?
prima situazione specifica:
Quando importo lo stesso modulo in due diversi script Python, il modulo non è importato due volte, giusto? La prima volta che Python lo incontra, viene importato e, una seconda volta, controlla se il modulo è stato importato o se ne fa una copia?
seconda situazione specifica:
Si consideri il seguente modulo, chiamato bla.py
:
a = 10
E poi, abbiamo foo.py
, un modulo che importa bla.py
:
from bla import *
def Stuff():
return a
E dopo di ciò, abbiamo uno script chiamato bar.py
, che viene eseguito dall'utente:
from foo import *
Stuff() #This should return 10
a = 5
Stuff()
Qui non so: Fa Stuff()
ritorno 10 o 5?
Cosa è successo quando hai eseguito il codice? – geoffspear
Potresti trovare questi interessanti: http://lucumr.pocoo.org/2011/9/21/python-import-blackbox/ e http://lucumr.pocoo.org/2009/7/24/singletons-and- loro-problemi-in-python /. Entrambi trattano le importazioni in Python. – rubik