Función incorporada `__import__` de Python
De la documentación de Python 3
Esta función es invocada por la declaración import. Puede ser reemplazada [...] para cambiar la semántica de la declaración import, pero hacerlo es fuertemente desaconsejado ya que usualmente es más simple usar ganchos de importación [...]. El uso directo de __import__() también es desaconsejado en favor de importlib.import_module().
Introducción
La función __import__() es la función subyacente que es llamada por la declaración import. Aunque es posible usarla directamente, generalmente se desaconseja. Para importar módulos dinámicamente, la función importlib.import_module() es el enfoque recomendado.
Ejemplo
Así es como podrías usar __import__() para importar dinámicamente el módulo math:
# Importar dinámicamente el módulo 'math'
math_module = __import__('math')
# Ahora puedes usarlo como una importación normal
print(math_module.sqrt(4))
2.0
Sin embargo, la forma recomendada usando importlib es:
import importlib
math_module = importlib.import_module('math')
print(math_module.sqrt(4))
2.0