Python - Unterschied zwischen exec und eval

Einführung

Haben Sie jemals einen Fehler bei der Ausführung der Funktionen exec oder eval festgestellt? In meinem Fall wurde ich ziemlich oft erwischt. In diesem Artikel werde ich die Funktionen exec und eval mit kurzen Erklärungen und Beispielen erläutern.

Was ist die Exec-Funktion?

Die exec-Funktion ist eine Funktion, die eine Anweisung ausführt. Zum Beispiel

sample.py


exec("x=5")
print(x)

#Ausführungsergebnis: 5

In diesem Beispiel führt die exec-Funktion die Anweisung aus, x 5 zuzuweisen.

sample.py


x = exec("5+5")
print(x)

#Ausführungsergebnis: None

Da die exec-Funktion eine Funktion ist, die eine Anweisung ausführt, gibt die Übergabe eines Ausdrucks nicht das Ausführungsergebnis zurück.

Was ist die Bewertungsfunktion?

Die eval-Funktion ist eine Funktion, die einen Ausdruck berechnet und das Ergebnis zurückgibt. Zum Beispiel

sample.py


x = eval("5+5")
print(x)

#Ausführungsergebnis: 10

Die exec-Funktion hat beim Übergeben des Ausdrucks nicht das Berechnungsergebnis zurückgegeben, die eval-Funktion jedoch.

sample.py


eval("x=5")
print(x)

#SyntaxError: invalid syntax in line 1

Da die eval-Funktion eine Funktion ist, die einen Ausdruck berechnet, löst das Übergeben einer Anweisung einen SyntaxError aus.

Schließlich

Haben Sie diesen Artikel gelesen und den Unterschied zwischen den Funktionen exec und eval herausgefunden? Wenn Sie Kommentare haben, schreiben Sie diese bitte in die Kommentare.

Recommended Posts

Python - Unterschied zwischen exec und eval
Unterschied zwischen Ruby und Python Split
Unterschied zwischen Java und Python (Memo)
Unterschied zwischen list () und [] in Python
Unterschied zwischen == und ist in Python
Unterschied zwischen der Python2-Serie und der Python3-Serie dict.keys ()
[Python] Unterschied zwischen Funktion und Methode
[Python] Unterschied zwischen randrange () und randint ()
[Python] Unterschied zwischen sortiert und sortiert (Colaboratory)
Unterschied zwischen Anweisungen (Anweisungen) und Ausdrücken (Ausdrücken) in Python
Unterschiede in der Beziehung zwischen PHP und Python schließlich und beenden
Unterschied zwischen Anhängen und + = in der Python-Liste
Unterschied zwischen nicht lokal und global in Python
[Python] Unterschied zwischen Klassenmethode und statischer Methode
[Python Iroha] Unterschied zwischen Liste und Tupel
[Python] Unterschied zwischen Rand- und Randn-Ausgabe
Unterschied zwischen Variablen und Selbst. Variablen in der [Python] -Klasse
Unterschied zwischen Prozess und Job
Unterschied zwischen "categoryical_crossentropy" und "sparse_categorical_crossentropy"
Unterschied zwischen Regression und Klassifikation
Unterschied zwischen np.array und np.arange
Unterschied zwischen MicroPython und CPython
Unterschied zwischen ps a und ps -a
Unterschied zwischen Return und Print-Python
Unterschied zwischen Ruby und Python in Bezug auf Variablen
Unterschied zwischen return, return None und no return description in Python
Unterschied zwischen SQLAlchemy filter () und filter_by ()
Führen Sie die Anweisung [python] exec, eval aus
Python-Modul num2words Verhaltensunterschied zwischen Englisch und Russisch
Python> Unterschied zwischen Inpbt- und Print-Ausgabe (Inpbt)> [1. 2. 3.] / Array ([1., 2., 3.], dtype = float32)
Memorandum (Unterschied zwischen csv.reader und csv.dictreader)
Listenverkettungsmethode in Python, Unterschied zwischen list.extend () und dem Operator "+"
(Hinweis) Unterschied zwischen Gateway und Standard-Gateway
Zusammenarbeit zwischen Python-Modul und API
Unterschied zwischen Numpys Randint und Randoms Randint
Unterschied zwischen Python, Stftime und Strptime
Unterschied zwischen sortiert und sortiert (Denkmal)
Unterschied zwischen SQLAlchemy flush () und commit ()
Python / Numpy> Link> Unterschied zwischen numpy.random und random.random> threadsicher oder nicht
Funktion zum Öffnen einer Datei in Python3 (Unterschied zwischen open und codecs.open und Geschwindigkeitsvergleich)
Kommunizieren Sie mit gRPC zwischen Elixir und Python
Unterschied in der Authentizität zwischen Python und JavaScript
Unterschiede zwischen Ruby und Python im Umfang
[Xg Boost] Unterschied zwischen Softmax und Softprob
[Django ORM] Unterschied zwischen Werten () und nur ()
Extraktion von tweet.js (json.loads und eval) (Python)
Unterschiede zwischen Python- und Java-Syntax
Unterschied zwischen linearer Regression, Ridge-Regression und Lasso-Regression
Unterschied zwischen Docker-Compose-Datei env_file und .env-Datei
[Python3] Wechseln Sie zwischen Shift_JIS, UTF-8 und ASCII
Geschwindigkeitsunterschied zwischen wsgi, Flasche und Flasche
Unterschiede in der Multithread-Verarbeitung zwischen Python und Jython
Unterschied zwischen Ruby und Python (grundlegende Syntax)
Unterschied zwischen numpy.ndarray und list (Dimension, Größe)
Korrespondenz zwischen den in Python integrierten Funktionen und Rust
Unterschied zwischen ls -l und cat Befehl
Kommunikation verschlüsselter Daten zwischen Python und C #
Differenz- und Kompatibilitätsprüfung zwischen Keras und tf.keras # 1
[Einführung in Python] Was ist der Unterschied zwischen einer Liste und einem Taple?