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.
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.
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.
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