Python3 exec-Funktion
Python3 integrierte Funktionen
Beschreibung
execFührt Python-Anweisungen aus, die in einer Zeichenkette oder Datei gespeichert sind. Im Vergleich zueval,execkann es komplexeren Python-Code ausführen.
Syntax
Die folgende Syntax gilt für exec:
exec(object[, globals[, locals]])
Parameters
- object: Erforderlicher Parameter, der den anzugebenden Python-Code darstellt. Er muss eine Zeichenkette oder ein Code-Objekt sein. Wenn object eine Zeichenkette ist, wird die Zeichenkette zuerst in eine Reihe von Python-Anweisungen geparst und dann ausgeführt (es sei denn, ein Syntaxfehler tritt auf). Wenn object ein Code-Objekt ist, wird es einfach ausgeführt.
- globals: Optionaler Parameter, der den globalen Namensraum darstellt (speichert globale Variablen). Wenn angegeben, muss es ein Dictionary-Objekt sein.
- locals: Optionaler Parameter, der den aktuellen lokalen Namensraum darstellt (speichert lokale Variablen). Wenn angegeben, kann es ein beliebiges Mapping-Objekt sein. Wenn dieser Parameter ignoriert wird, nimmt er denselben Wert wie globals an.
Rückgabewert
Der Rückgabewert von exec ist immer None.
Beispiele
Das Folgende zeigt Beispiele für die Verwendung von exec:
Beispiel 1
Beispiel 2
Ausgabe:
60 33 34
exec Rückgabewert
In Python wird die Funktionexecverwendet, um Code in einer Zeichenfolge auszuführen, aber sie gibt keinen Wert zurück. Wenn Sie den Rückgabewert nach der Ausführung des Codes erhalten möchten, können Sie die Funktionevaloderexec verwendenkombiniert mitlocals()oderglobals(), um den Wert der Variablen zu erhalten.
Bitte beachten Sie, dass die Verwendung vonevalundexecVorsicht erfordert, insbesondere wenn der ausgeführte Code aus einer nicht vertrauenswürdigen Quelle stammt, da Sicherheitsrisiken bestehen können.
Verwenden Sieeval, um den Rückgabewert zu erhalten:
Beispiel
result = eval(code)
print(result)
In diesem Beispiel,evalführt die Zeichenkette'2 + 2'aus und gibt das Ergebnis zurück4。
Die Ausgabe der obigen Codeausführung ist:
4
Mitexeckombiniert mitlocals(), um den Rückgabewert zu erhalten:
Beispiel
local_vars = {}
exec(code, globals(), local_vars)
result = local_vars['result']
print(result)
In diesem Beispiel,execführt die Zeichenkette'result = 2 + 2'aus und speichert das Ergebnis inlocal_varsim Wörterbuch unter dem'result'-Schlüssel.
Die Ausgabe der obigen Codeausführung ist:
4
Mitexeckombiniert mitglobals(), um den Rückgabewert zu erhalten:
Beispiel
global_vars = {}
exec(code, global_vars)
result = global_vars['result']
print(result)
In diesem Beispiel führtexecden String'result = 2 + 2'aus und speichert das Ergebnis inglobal_varsim Wörterbuch unter dem'result'-Schlüssel.
Die Ausgabe der obigen Codeausführung ist:
4Andere Erweiterungen