Есть по крайней мере 4 способа импорта модуля:
import X, imports the module X: this way you can use X.whatever to refer to things defined in module X.
from X import *, imports the module X: this way you can simply use a plain name to refer to things defined in module X.
from X import x, y, z: you can now use x and y and z in the current name space.
X = __import__(‘X’) works like import X but this time the module name is a string. Use it it you don't know the module name before execution.
Подумайте о пространстве имен в качестве словаря структуры Python, где ключи словаря представляют имена и словарь ценность самого объекта. Используя импорт, вы можете назвать модуль внутри вашего пространства имен.
Это означает, что вы можете полностью импортировать модули внутри сценария (имя импортера os что-то), а затем импортировать «импортер», и все будет находиться внутри вашего пространства имен. Это хорошая идея? Вероятно, нет, потому что обычно существует одно и то же имя (метод, функция или что-то еще) внутри разных модулей, и если это произойдет, возникает двусмысленность.
Одним словом, да. – wim