Python Sentencia incorporada exec
Funciones incorporadas de Python
Descripción
exec ejecuta sentencias de Python almacenadas en cadenas o archivos; en comparación con eval, exec puede ejecutar código de Python más complejo.
Cabe señalar que en Python 2 exec no es una función, sino una sentencia (statement) incorporada, pero en Python 2 existe una función execfile(). Se puede entender que Python 3 integró la funcionalidad de la sentencia exec y la función execfile() en una nueva función exec().
Sintaxis
La siguiente es la sintaxis de exec:
exec obj
Parámetros
- obj -- La expresión a ejecutar.
Valor de retorno
El valor de retorno de exec es siempre None.
Ejemplos
A continuación se muestran ejemplos del uso de exec:
Ejemplo 1
>>>exec 'print "Hello World"'
Hello World
# Cadena de sentencia de una sola línea
>>> exec "print 'example.com'"
ejemplo.com
# Cadena de sentencia de varias líneas
>>> exec """for i in range(5):
... print "iter time: %d" % i
... """
iter time: 0
iter time: 1
iter time: 2
iter time: 3
iter time: 4
Ejemplo 2
x = 10
expr = """
z = 30
sum = x + y + z
print(sum)
"""
def func():
y = 20
exec(expr)
exec(expr, {'x': 1, 'y': 2})
exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4})
func()
Resultado de salida:
60 33 34Otras extensiones