Python导入订单是否重要

时间:2014-11-07 15:35:52

标签: python

我阅读here关于在Python中对import语句进行排序,但如果要导入的内容需要尚未导入的依赖项,该怎么办?这是编译语言和解释之间的区别吗?我来自JavaScript背景,加载脚本的顺序很重要,而Python似乎并不关心。谢谢。

3 个答案:

答案 0 :(得分:16)

导入顺序无关紧要。如果模块依赖于其他模块,则需要自己导入它们。 Python将每个.py文件视为一个独立的单元,直到该文件中可见的为止。

(从技术上讲,更改导入顺序可能会改变行为,因为模块可以具有在首次导入时运行的初始化代码。如果初始化代码具有副作用,则模块可以与每个模块进行交互但是,这将是这些模块中的设计缺陷。导入顺序不应该重要,因此初始化代码也应该写入不依赖于任何特定顺序。)

答案 1 :(得分:7)

不,它没有,因为每个python模块应该是自包含的并导入它需要的一切。这适用于导入整个模块及其特定部分。

答案 2 :(得分:2)

导入标准python库/模块时,Python导入顺序无关紧要。 但是,顺序对于本地应用程序/库特定的导入很重要,因为您可能会陷入循环依赖循环,因此请在导入之前查看。