如果用 Python 写一个比较大的应用,有两个文件都需要导入同一个 module
比如:一个文件 core.py
需要:
import numpy as np
另一个文件 main.py
需要导入上面的文件,并且也需要用到 numpy,
import numpy as no
import core
和
import core.np as np
import core
这两种方式哪个更好,假如需要非常大的运算量,会有速度上的影响吗?
如果用 Python 写一个比较大的应用,有两个文件都需要导入同一个 module
比如:一个文件 core.py
需要:
import numpy as np
另一个文件 main.py
需要导入上面的文件,并且也需要用到 numpy,
import numpy as no
import core
和
import core.np as np
import core
这两种方式哪个更好,假如需要非常大的运算量,会有速度上的影响吗?
这只是导入模块而已,就算运算量大也不会怎么影响性能吧
至于哪种好,我觉得第一种写法好一点,更直接一些,这样找的时候也很容易;第一种这样会造成依赖关系复杂,两层倒还好,要是到后面四层五层看了都费劲
第一种吧,性能上其实区别不大,但是第二种显的重复而且晦涩,完全可以import core然后使用core.np,python
之禅里面强调显式优于隐式。有一点需要注意,如果你的代码在core里对numpy模块的任何属性做了重绑定,则就不要再用原生的numpy而是用corn.np
不会导致性能问题。Python对于已import一遍的module不会再导第二遍。
如果说哪个更好,我觉得在这个问题上你需要充分考虑你的代码可读性。numpy对于你的项目来说本身是一个公共的模块,从这一点出发,如果你在main.py
中从core.py
中去import这个这个模块,可能对于可读性会造成一定的影响,所以我觉得第一种比较好
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
在一个文件中或者不同文件中 import 一个模块多次,python 只会在第一次的时候执行这个模块的相关代码。所以性能上没有差别。
比如:
你可以看到只会输出一次