为什么这种自我导入不会引起无限循环?

时间:2019-02-22 13:57:34

标签: python

我刚刚对python中的if __name__ = "__main__":的用途以及它的工作方式进行了一些研究,并认为我已经通过这篇较早的文章了解了它:What does if __name__ == "__main__": do? 但是,当我从该问题的公认答案中运行示例python foo3.py时,

# Suppose this is foo3.py.

def functionA():
    print("a1")
    from foo3 import functionB
    print("a2")
    functionB()
    print("a3")

def functionB():
    print("b")

print("t1")
print("m1")
functionA()
print("m2")
print("t2")

打印“ t1 m1 a1 t1 m1 a1 a2 b a3 m2 t2 a2 b a3 m2 t2”。我希望它进入打印“ t1 m1 a1”的无限循环,为什么没有发生?

我知道这是一个非常具体的问题,但我将不胜感激。谢谢! :)

0 个答案:

没有答案