导入模块时内存使用的区别

Difference between memory usage when importing modules

我想知道以这些方式导入模块时内存使用有什么区别:

import Mod1
from Mod1 import *
from Mod1 import a,b,c

主要介于前两者之间。

第一个使用最少的内存,因为它只在模块范围内创建一个名称。

第二个使用最多(假设 Mod1 包含的不仅仅是 abc 明确地或在 __all__ 中)因为重新创建所有名称。

在所有这三种情况下,整个模块都会被导入和执行,因此如果您正在寻找大量内存节省,这不是您想要优化的。