La función exec()
en Python permite ejecutar código Python dinámicamente desde una cadena o un objeto compilado. Esto es útil cuando necesitas construir y ejecutar código de manera flexible durante la ejecución del programa.
exec()
en Python?
exec()
es una función incorporada que ejecuta el código Python que le pases como argumento. Este código puede ser una cadena o un objeto de código compilado. A diferencia de eval()
, que solo puede evaluar expresiones simples, exec()
puede ejecutar bloques completos de código, incluidos definiciones de funciones, clases y estructuras de control.
exec(object[, globals[, locals]])
exec()
en Python
codigo = """
for i in range(3):
print(f'Valor: {i}')
"""
exec(codigo)
En este ejemplo, exec()
ejecuta un bucle for
desde una cadena de código. Esto imprime los valores de 0 a 2 en la consola.
codigo = """
def saludar():
print('¡Hola, Mundo!')
"""
exec(codigo)
saludar() # Llama a la función definida dinámicamente
Aquí, exec()
define una función saludar()
dentro de la cadena de código, que luego se puede llamar como cualquier función normal.
exec()
con variables globales y locales
globals_dict = {'x': 5}
locals_dict = {}
codigo = """
y = x + 10
"""
exec(codigo, globals_dict, locals_dict)
print(locals_dict['y']) # Muestra 15
En este ejemplo, exec()
usa los diccionarios globals_dict
y locals_dict
para gestionar las variables globales y locales durante la ejecución del código.
Puedes consultar más sobre exec()
en la documentación oficial de Python.
Jorge García
Fullstack developer