这是 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()
上面的 python 代码在系统上运行时会生成以下输出:
Here 3
Here 1
Here 3
Here 1
Here 2
Here 4
-1 [0, 1]
Here 2
Here 4
50 [1, 2]
我很困惑为什么没有“Here 1 \n Here 3”输出的无限循环。如何证明打印 a、b 的输出是合理的?