Avez-vous déjà rencontré une erreur lors de l'utilisation des fonctions exec ou eval? Dans mon cas, je me suis fait prendre assez souvent. Dans cet article, je vais expliquer les fonctions exec et eval avec de brèves explications et des exemples.
La fonction exec est une fonction qui exécute une instruction. Par exemple
sample.py
exec("x=5")
print(x)
#Résultat d'exécution: 5
Dans cet exemple, la fonction exec exécute l'instruction d'affectation de 5 à x.
sample.py
x = exec("5+5")
print(x)
#Résultat d'exécution: None
Étant donné que la fonction exec est une fonction qui exécute une instruction, la transmission d'une expression ne renvoie pas le résultat de l'exécution.
La fonction eval est une fonction qui calcule une expression et renvoie le résultat. Par exemple
sample.py
x = eval("5+5")
print(x)
#Résultat d'exécution: 10
La fonction exec n'a pas renvoyé le résultat du calcul lors de la transmission de l'expression, mais la fonction eval l'a fait.
sample.py
eval("x=5")
print(x)
#SyntaxError: invalid syntax in line 1
La fonction eval est une fonction qui calcule une expression, donc la transmission d'une instruction provoquera une SyntaxError.
Avez-vous lu cet article et découvert la différence entre les fonctions exec et eval? Si vous avez des commentaires, veuillez les écrire dans les commentaires.
Recommended Posts