python中模块的导入方法
如果用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
使用第一种方式比较好,因为第二种方式会是两个模块产生耦合,这样不合理。
python在import模块的时候有加载路径的,效率上不会有很大的差别。
这只是导入模块而已,就算运算量大也不会怎么影响性能吧
至于哪种好,我觉得第一种写法好一点,更直接一些,这样找的时候也很容易;第一种这样会造成依赖关系复杂,两层倒还好,要是到后面四层五层看了都费劲
第一种吧,性能上其实区别不大,但是第二种显的重复而且晦涩,完全可以import core然后使用core.np,python
之禅里面强调显式优于隐式。有一点需要注意,如果你的代码在core里对numpy模块的任何属性做了重绑定,则就不要再用原生的numpy而是用corn.np
不会导致性能问题。Python对于已import一遍的module不会再导第二遍。
如果说哪个更好,我觉得在这个问题上你需要充分考虑你的代码可读性。numpy对于你的项目来说本身是一个公共的模块,从这一点出发,如果你在
main.py
中从core.py
中去import这个这个模块,可能对于可读性会造成一定的影响,所以我觉得第一种比较好在一个文件中或者不同文件中 import 一个模块多次,python 只会在第一次的时候执行这个模块的相关代码。所以性能上没有差别。
比如:
你可以看到只会输出一次