да, импортируется весь модуль. Импорт идет в определенное пространство имен
import time
time.time()
from time import time
time()
from time import *
time()
более того - импорт это выполнение, для этого и стоит использовать конструкцию
if __name__ == '__main__':
pass
в __name__ содержится имя текущего модуля, но если это модуль, который был запущен изначально, то в __name__ содержится "__main__"
импорт модулей похож на синглтоны, так что модули загружаются 1 раз, вне зависимости от количества импортов, разница только в том, в какое пространство имен будут загружены символы из модуля.
сохраните нижний код как модуль и импортируйте его.
print('модули выполняются при импорте')
if __name__ == '__main__':
print('а это выполнено не будет')