Python: оптимизация импорта

Имеет ли значение, где в коде загружаются модули? Или все они должны быть объявлены вверху, так как во время загрузки внешние модули должны быть загружены независимо от того, где они объявлены в коде...?

Пример:

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)
8
задан tetris11 20 May 2012 в 10:37
поделиться