Difference between memory usage when importing mod

2019-06-07 14:30发布

问题:

I'd like to know whats is the difference between the memory usage when importing modules in these ways:

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

Mainly between the first two.

回答1:

The first uses the least memory since it only creates a single name in the module scope.

The second uses the most (assuming Mod1 contains more than just a, b, and c either explicitly or in __all__) since all names are recreated.

In all three cases the entire module is imported and executed, so if you're looking for large memory savings this is not what you want to optimize.