Имеет ли значение, где в коде загружаются модули? Или все они должны быть объявлены вверху, так как во время загрузки внешние модули должны быть загружены независимо от того, где они объявлены в коде...?
Пример:
from os import popen
try:
popen('echo hi')
doSomethingIllegal;
except:
import logging #Module called only when needed?
logging.exception("Record to logger)
или это оптимизировано компилятором так же, как:
from os import popen
import logging #Module will always loaded regardless
try:
popen('echo hi')
doSomethingIllegal;
except:
logging.exception("Record to logger)