Función exec() en Python
La función
exec()
en Python es una función incorporada que se utiliza para ejecutar código Python dinámicamente en tiempo de ejecución. Permite ejecutar código almacenado en forma de una cadena de texto o código proporcionado como argumento
Página de referencia: resume la firma y el uso de un método concreto. El valor está en el patrón: qué recibe, qué devuelve y en qué situación lo usarías.
Copia el ejemplo al editor, cámbiale los argumentos y comprueba la salida.
Sintaxis función exec() en Python
La sintaxis general de la función
exec()
es la siguiente:
Ejemplo
variables_locales = {}
variables_globales = {}
codigo = "1 + 1"
exec(codigo, variables_globales, variables_locales)
print(codigo)
Donde:
-
codigo: Es una cadena de texto que contiene el código Python que se ejecutará. -
variables_globales(opcional): Es un diccionario que contiene el espacio de nombres global en el que se ejecutará el código. Si no se proporciona, se utilizará el espacio de nombres global actual. -
variables_locales(opcional): Es un diccionario que contiene el espacio de nombres local en el que se ejecutará el código. Si no se proporciona, se utilizará el espacio de nombres local actual.
Es importante tener en cuenta que la función
exec()
puede ejecutar cualquier código Python válido, lo que incluye declaraciones, asignaciones, definiciones de funciones y clases, entre otros.
Ejemplo función exec() en Python
Ejecutar un bloque de código:
En este ejemplo, primero se define una cadena de texto llamada
x
. La cadena
x
contiene dos líneas de código Python:
-
name = "John": Esta línea asigna el valor"John"a la variablename. -
print(name): Esta línea imprime el valor de la variablename, que es"John".
Luego, se utiliza la función
exec()
para ejecutar dinámicamente el código contenido en la cadena
x
. Cuando se ejecuta
exec(x)
, el código se evalúa en tiempo de ejecución y se realiza lo siguiente:
-
La variable
namese asigna con el valor"John". -
Se imprime el valor de la variable
name, que es"John".
La salida del programa será:
John
Valores de parámetros
La sintaxis indica el orden de argumentos y palabras clave. Copia la plantilla y sustituye nombres de columnas o literales entre comillas simples.
| Parámetro | Descripción |
|---|---|
| Expresión | Una cadena o un objeto de código |
| Globales | Opcional. Un diccionario que contiene parámetros globales |
| Locales | Opcional. Un diccionario que contiene parámetros locales. |
Practica Función exec() en Python en el editor
Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.
Ejercicio: Ejecutar un bloque de código
Ejecutar un bloque de código.
Ejemplo
variables_locales = {}
variables_globales = {}
codigo = "1 + 1"
exec(codigo, variables_globales, variables_locales)
print(codigo)