Función Python __import__()
Funciones integradas de Python3
__import__()es una función integrada en Python para importar módulos dinámicamente.
__import__()SíimportLa implementación subyacente de la sentencia, que permite importar módulos dinámicamente en tiempo de ejecución. Es muy útil para sistemas de complementos, carga diferida y otros escenarios.
Definiciones de palabras: __import__ 是 Python 的内置导入函数。
Sintaxis básica y parámetros
Formato de sintaxis
__import__(name, globals=None, locals=None, fromlist=(), level=0)
Descripción de parámetros
- Parámetro name:
- Tipo: string
- Descripción: nombre del módulo a importar.
- Parámetro fromlist(opcional):
- Tipo: tupla
- Descripción: lista de submódulos o atributos a importar del módulo.
Descripción de la función
- Valor de retorno: Devuelve el objeto del módulo importado.
Ejemplos
Ejemplo 1: Uso básico
Ejemplo
# Importar módulo dinámicamente
os = __import__('os')
print(os.getcwd()) # Salida: directorio de trabajo actual
# Importar submódulo
requests = __import__('collections', fromlist=['Counter'])
print(requests.Counter) # Salida: <class 'collections.Counter'>
os = __import__('os')
print(os.getcwd()) # Salida: directorio de trabajo actual
# Importar submódulo
requests = __import__('collections', fromlist=['Counter'])
print(requests.Counter) # Salida: <class 'collections.Counter'>
Resultado de la ejecución:
Manera de importar módulos.
Ejemplo 2: Importación dinámica
Ejemplo
# Importar módulo según una cadena
module_name = "json"
mod = __import__(module_name)
print(mod.dumps({"key": "value"})) # Salida: {"key": "value"}
# Importar múltiples módulos dinámicamente
modules = ['math', 'random', 'datetime']
for name in modules:
mod = __import__(name)
print(f"{name}: {mod.__name__}")
# Importación diferida (carga bajo demanda)
def get_module(mod_name):
return __import__(mod_name)
math_mod = get_module('math')
print(math_mod.sqrt(16)) # Salida: 4.0
module_name = "json"
mod = __import__(module_name)
print(mod.dumps({"key": "value"})) # Salida: {"key": "value"}
# Importar múltiples módulos dinámicamente
modules = ['math', 'random', 'datetime']
for name in modules:
mod = __import__(name)
print(f"{name}: {mod.__name__}")
# Importación diferida (carga bajo demanda)
def get_module(mod_name):
return __import__(mod_name)
math_mod = get_module('math')
print(math_mod.sqrt(16)) # Salida: 4.0
Resultado de la ejecución:
La importación dinámica tiene múltiples usos en aplicaciones reales.
__import__()es el núcleo del mecanismo de importación dinámica de Python.
Funciones integradas de Python3
Otras extensiones