Python instruction intégrée exec
Description
exec exécute des instructions Python stockées dans une chaîne ou un fichier. Comparé à eval, exec peut exécuter du code Python plus complexe.
Il convient de noter que dans Python 2, exec n'est pas une fonction mais une instruction intégrée. Cependant, Python 2 dispose d'une fonction execfile(). On peut comprendre que Python 3 a intégré les fonctionnalités de l'instruction exec et de la fonction execfile() dans une nouvelle fonction exec().
Syntaxe
Voici la syntaxe de exec :
exec obj
Parameters
- obj -- L'expression à exécuter.
Valeur de retour
La valeur de retour de exec est toujours None.
Exemples
Ce qui suit montre des exemples d'utilisation de exec :
Exemple 1
>>>exec 'print "Hello World"'
Hello World
# Chaîne d'instruction sur une seule ligne
>>> exec "print 'example.com'"
example.com
# Chaîne d'instruction multi-ligne
>>> 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
Exemple 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()
Résultat de sortie :
60 33 34Autres extensions
Fonctions intégrées de Python