English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die Methode compile() gibt aus Quellcode Python-Code-Objekte (normaler String, Byte-String oder AST-Objekt) zurück.
Die Syntax von compile() lautet:
compile(source, filename, mode, flags=0, dont_inherit=False, optimize="}}-1)
Wenn Python-Code in Form eines Strings oder eines AST-Objekts vorliegt und Sie ihn in ein Codeobjekt umwandeln möchten, verwenden Sie die Methode compile().
können später verwendet werden wieexec() und eval() beiMethoden der Klasse aufrufen, um den von der Methode compile() zurückgegebenen Codeobjekt auszuführen, die dynamisch generierten Python-Code auszuführen.
source -Normaler String, Byte-String oder AST-Objekt
filename-Datei, aus der der Code gelesen wird. Wenn nicht aus einer Datei gelesen wird, kann ein eigener Name vergeben werden
mode- exec oder eval oder single.
eval -akzeptiert nur einen Ausdruck.
exec -kann ein Codeblock mit Python-Anweisungen, Klassen und Funktionen usw. verwendet werden.
single -Wenn eine einzelne interaktive Anweisung enthalten ist
flags (optional) und dont_inherit (optional)-Bestimmt, welche Anweisungen in Zukunft den Quellcode beeinflussen werden. Standardwert: 0
optimize (optional)-Optimierungsstufe des Compilers. Standardwert-1.
Die Methode compile() gibt ein Python-Codeobjekt zurück.
codeInString = 'a =' 5\nb=6\nsum=a+b\nprint("sum =",sum)' codeObejct = compile(codeInString, 'sumstring', 'exec') exec(codeObejct)
Wenn das Programm ausgeführt wird, lautet die Ausgabe:
sum = 11
Hier,Quelle (source)in Form eines normalen Strings. DiesDateinameistsumstring. Und der exec-Modus ermöglicht später die Verwendung der Methode exec().
Die Methode compile() wandelt einen String in ein Python-Codeobjekt um. Anschließend wird das Codeobjekt mit der Methode exec() ausgeführt.