Die Methode compile () gibt ein Python-Codeobjekt aus der Quelle zurück (normale Zeichenfolge, Bytezeichenfolge oder AST-Objekt).
Die Syntax von compile()
lautet:
kompilieren (Quelle, Dateiname, Modus, Flags = 0, dont_inherit = False, Optimize = -1)
compile()
Die Methode wird verwendet, wenn der Python-Code in Zeichenfolgenform vorliegt oder ein AST-Objekt ist und Sie ihn in ein Codeobjekt ändern möchten.
Das von der compile()
Methode zurückgegebene Codeobjekt kann später mit folgenden Methoden aufgerufen werden: exec () und eval (), die dynamisch generierten Python-Code ausführen.
compile () Parameter
source
- eine normale Zeichenfolge, eine Bytezeichenfolge oder ein AST-Objektfilename
- Datei, aus der der Code gelesen wurde. Wenn es nicht aus einer Datei gelesen wurde, können Sie selbst einen Namen vergebenmode
- Entwederexec
odereval
odersingle
.eval
- akzeptiert nur einen einzigen Ausdruck.exec
- Es kann einen Codeblock enthalten, der Python-Anweisungen, Klassen und Funktionen usw. enthält.single
- wenn es aus einer einzelnen interaktiven Anweisung besteht
flags
(optional) unddont_inherit
(optional) - steuert, welche zukünftigen Anweisungen die Kompilierung der Quelle beeinflussen. Standardwert: 0optimize
(optional) - Optimierungsstufe des Compilers. Standardwert -1.
Rückgabewert von compile ()
compile()
Methode gibt ein Python-Code-Objekt zurück.
Beispiel: Wie funktioniert compile ()?
codeInString = 'a = 5b=6sum=a+bprint("sum =",sum)' codeObejct = compile(codeInString, 'sumstring', 'exec') exec(codeObejct)
Ausgabe
Summe = 11
Hier liegt die Quelle in normaler Zeichenfolgenform vor. Der Dateiname lautet sumstring. Der exec
Modus ermöglicht später die Verwendung von exec()
Methoden.
Die Methode compile () konvertiert die Zeichenfolge in ein Python-Codeobjekt. Das Codeobjekt wird dann mit der exec()
Methode ausgeführt.