python中模块的导入方法

发布于 2022-09-06 04:45:42 字数 398 浏览 21 评论 0

如果用 Python 写一个比较大的应用,有两个文件都需要导入同一个 module

比如:一个文件 core.py 需要:

import numpy as np

另一个文件 main.py 需要导入上面的文件,并且也需要用到 numpy,

import numpy as no
import core

import core.np as np
import core

这两种方式哪个更好,假如需要非常大的运算量,会有速度上的影响吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

杯别 2022-09-13 04:45:43

使用第一种方式比较好,因为第二种方式会是两个模块产生耦合,这样不合理。

python在import模块的时候有加载路径的,效率上不会有很大的差别。

情话已封尘 2022-09-13 04:45:43

这只是导入模块而已,就算运算量大也不会怎么影响性能吧

至于哪种好,我觉得第一种写法好一点,更直接一些,这样找的时候也很容易;第一种这样会造成依赖关系复杂,两层倒还好,要是到后面四层五层看了都费劲

栀子花开つ 2022-09-13 04:45:43

第一种吧,性能上其实区别不大,但是第二种显的重复而且晦涩,完全可以import core然后使用core.np,python
之禅里面强调显式优于隐式。有一点需要注意,如果你的代码在core里对numpy模块的任何属性做了重绑定,则就不要再用原生的numpy而是用corn.np

不会导致性能问题。Python对于已import一遍的module不会再导第二遍。
如果说哪个更好,我觉得在这个问题上你需要充分考虑你的代码可读性。numpy对于你的项目来说本身是一个公共的模块,从这一点出发,如果你在main.py中从core.py中去import这个这个模块,可能对于可读性会造成一定的影响,所以我觉得第一种比较好

春夜浅 2022-09-13 04:45:42
import numpy as np
import numpy as np

在一个文件中或者不同文件中 import 一个模块多次,python 只会在第一次的时候执行这个模块的相关代码。所以性能上没有差别。

比如:

# a.py
print("I'm module a, you are importing me...")
# b.py
import a
import a

你可以看到只会输出一次

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文