python - 我的所有 Python 模块都应该显式导入相同的基本模块吗?

标签 python performance memory import

例如: 主.py:

import pygame
import mycolors
color1 = mycolors.blue

我的颜色.py:

import pygame
blue = pygame.Color(0, 0, 255)

我的问题特别涉及两个文件中存在的“import pygame”。真的有必要在每个需要它的模块中导入它吗? (答案似乎是肯定的,没有它就无法运行。)此外,这实际上是否被导入了两次?这对性能有影响吗?

最佳答案

模块只导入一次,不用担心资源浪费。您可以在 sys.modules 中的任何位置看到所有已导入的模块。当模块导入第二个/第三个/等等。时间你刚刚获得对 sys.modules

中已有模块的引用

你必须将它导入到其他两个模块中的原因是它被添加到它们的命名空间中

这在较大的程序中非常重要,因为可能有很多同名模块,因此您肯定不希望在导入模块时在每个其他命名空间中弹出一个模块

关于python - 我的所有 Python 模块都应该显式导入相同的基本模块吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9886529/

相关文章:

python - Scrapy 内存错误(请求太多)Python 2.7

python - 无法以 CSV 格式剥离和存储某些文件的内容

java - Java 6.0 编译时出现内存不足错误

python - 试图让 Anaconda3 在 Mac 上运行

performance - 有效地计算matlab中的双和?

java - Glassfish 3.1.2 和 Java EE + Hibernate 的性能非常低

java - 非常快速的均匀分布随机数生成器

python - "del"究竟做了什么?

python - 值错误: invalid literal for int() with base 16: 'Interstitial'

python - 循环遍历 excel 文件做一些事情并将它们保存到新文件夹 python pandas