如果在Python中导入自己,为什么不会陷入无限循环?

8 投票
5 回答
1003 浏览
提问于 2025-04-16 03:14

这个问题是对下面这个StackOverflow帖子内容的回应:

我该如何对一个对象进行序列化?

在那个讨论中,提问者不小心在自己的模块顶部又导入了自己的模块。为什么这样不会导致无限循环呢?

5 个回答

2

我认为Python会记录哪些模块已经被导入过,这样就不会浪费时间重复导入同样的模块。每个模块只能被导入一次。

5

当Python遇到一个import语句时,它会先查看sys.modules里有没有这个模块,然后才会进行其他操作。

12

模块只会被导入一次。Python 会记住这个模块已经被导入过了,所以不会再导入一次。

详细信息请查看: http://docs.python.org/tutorial/modules.html#more-on-modules

撰写回答