English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Grundlegende Python-Tutorials

Flusskontrolle in Python

Funktionen in Python

Datentypen in Python

Dateioperationen in Python

Python Objekte und Klassen

Python Datum und Zeit

Hochwertiges Wissen über Python

Python Referenzhandbuch

Verwendung und Beispiel von Python compile()

Python-eingebaute Funktionen

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.

compile() Parameter

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

compile() Rückgabewert

Die Methode compile() gibt ein Python-Codeobjekt zurück.

Beispiel: Wie funktioniert compile()?

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.

Python-eingebaute Funktionen