Importieren einer Py-Datei in sich

Das ist test.py:

import sys

a = 50
b = [1,2]

def change():
    print "Here 1"
    import test
    print "Here 2"
    test.a = -1
    test.b = [0,1]
    return

def main():
    print "Here 3"
    change()
    print "Here 4"
    print a, b

if 1:
    main()

Der obige Python-Code generiert beim Ausführen auf dem System die folgende Ausgabe:

Here 3
Here 1
Here 3
Here 1
Here 2
Here 4
-1 [0, 1]
Here 2
Here 4
50 [1, 2]

Was mich verwirrt, warum gibt es nicht eine Endlosschleife von "Here 1 \ n Here 3" -Ausgängen. Wie können die Druckausgaben a, b gerechtfertigt werden?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage