Документация, вероятно, относится к использованию importlib.import_module
, который раскрывает функциональность Python import
:
import importlib
class Example():
TO_IMPORT = "os" # the name of the module to lazily import
__module = None
def __init__(self):
if self.__module is None:
self.__module = importlib.import_module(self.TO_IMPORT)
Обратите внимание, что таким образом модуль импортируется только один раз, когда экземпляр класса создается впервые и недоступен в глобальном пространстве имен.
Кроме того, он позволяет изменить импортируемый модуль, что может быть полезно, например, в тех случаях, когда один и тот же класс используется в качестве интерфейса к различным бэкэндам:
import importlib
class Example():
def __init__(self, backend="some_module"):
self.module = importlib.import_module(backend)