Ich habe zwei spezifische Situationen, in denen ich nicht verstehen, wie funktioniert in Python zu importieren:Wie funktioniert der Import von Python genau?
erste spezifische Situation:
Wenn ich das gleiche Modul in zwei verschiedenen Python-Skripte zu importieren, ist das Modul nicht zweimal importiert, oder? Wenn Python das erste Mal darauf trifft, wird es importiert, und beim zweiten Mal überprüft es, ob das Modul importiert wurde, oder erstellt es eine Kopie?
2. spezifische Situation:
das folgende Modul Betrachten genannt bla.py
:
a = 10
Und dann haben wir foo.py
, ein Modul, das bla.py
importiert:
from bla import *
def Stuff():
return a
Und Danach haben wir ein Skript namens bar.py
, die vom Benutzer ausgeführt wird:
from foo import *
Stuff() #This should return 10
a = 5
Stuff()
Hier weiß ich nicht: Ist Stuff()
Rückkehr 10 oder 5?
Was ist passiert, als Sie den Code ausgeführt haben? – geoffspear
Sie können diese interessant finden: http://lucumr.pocoo.org/2011/9/21/python-import-blackbox/ und http://lucumr.pocoo.org/2009/7/24/singletons-and- ihre-Probleme-in-Python /. Beide behandeln Importe in Python. – rubik