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








