Python - Différence entre exec et eval

introduction

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.

Quelle est la fonction exec?

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.

Quelle est la fonction eval?

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.

finalement

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

Python - Différence entre exec et eval
Différence entre Ruby et Python Split
Différence entre java et python (mémo)
Différence entre list () et [] en Python
Différence entre == et est en python
Différence entre la série python2 et la série python3 dict.keys ()
[Python] Différence entre fonction et méthode
[Python] Différence entre randrange () et randint ()
[Python] Différence entre trié et trié (Colaboratoire)
différence entre les instructions (instructions) et les expressions (expressions) en Python
Différences dans la relation entre PHP et Python enfin et quitter
Différence entre append et + = dans la liste Python
Différence entre non local et global en Python
[Python] Différence entre la méthode de classe et la méthode statique
[Python Iroha] Différence entre List et Tuple
[python] Différence entre la sortie rand et randn
[python] Différence entre variable et self. Variable dans la classe
Différence entre processus et travail
Différence entre "categorical_crossentropy" et "sparse_categorical_crossentropy"
Différence entre régression et classification
Différence entre np.array et np.arange
Différence entre MicroPython et CPython
Différence entre ps a et ps -a
Différence entre return et print-Python
Différence entre Ruby et Python en termes de variables
Différence entre return, return None et no return description en Python
Différence entre SQLAlchemy filter () et filter_by ()
Exécutez l'instruction [python] exec, eval
Module Python num2words Différence de comportement entre l'anglais et le russe
Python> Différence entre la sortie inpbt et print (inpbt)> [1. 2. 3.] / array ([1., 2., 3.], dtype = float32)
Mémorandum (différence entre csv.reader et csv.dictreader)
Méthode de concaténation de liste en python, différence entre list.extend () et opérateur «+»
(Remarque) Différence entre la passerelle et la passerelle par défaut
Coopération entre le module python et l'API
Différence entre le randint de Numpy et le randint de Random
Différence entre Python, stftime et strptime
Différence entre tri et tri (mémorial)
Différence entre SQLAlchemy flush () et commit ()
Python / Numpy> Lien> Différence entre numpy.random et random.random> thread-safe ou non
Fonction pour ouvrir un fichier en Python3 (différence entre open et codecs.open et comparaison de vitesse)
Communiquez entre Elixir et Python avec gRPC
Différence d'authenticité entre Python et JavaScript
Différences entre Ruby et Python dans la portée
[Xg boost] Différence entre softmax et softprob
[Django ORM] Différence entre values () et only ()
Extraction de tweet.js (json.loads et eval) (Python)
Différences entre la syntaxe Python et Java
Différence entre la régression linéaire, la régression Ridge et la régression Lasso
Différence entre le fichier env_file docker-compose et le fichier .env
[Python3] Basculer entre Shift_JIS, UTF-8 et ASCII
Différence de vitesse entre wsgi, bouteille et flacon
Différences de multithreading entre Python et Jython
Différence entre Ruby et Python (syntaxe de base)
Différence entre numpy.ndarray et list (dimension, taille)
Correspondance entre les fonctions intégrées de Python et Rust
Différence entre ls -l et la commande cat
Communication de données chiffrées entre Python et C #
Vérification de la différence et de la compatibilité entre keras et tf.keras # 1
[Introduction à Python] Quelle est la différence entre une liste et un taple?