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:

Ejemplo

    x = 'name = "John"\nprint(name)'
exec(x)
print(x)
print(x)
  
Abrir en editor

En este ejemplo, primero se define una cadena de texto llamada x . La cadena x contiene dos líneas de código Python:

  1. name = "John" : Esta línea asigna el valor "John" a la variable name .
  2. print(name) : Esta línea imprime el valor de la variable name , 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:

  1. La variable name se asigna con el valor "John" .
  2. 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ámetroDescripció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)
  
Abrir en editor