De methode compile () retourneert een Python-codeobject uit de bron (normale string, een bytestring of een AST-object).
De syntaxis van compile()
is:
compileren (bron, bestandsnaam, modus, vlaggen = 0, dont_inherit = False, optimaliseren = -1)
compile()
methode wordt gebruikt als de Python-code de vorm van een string heeft of een AST-object is en u deze wilt wijzigen in een code-object.
Het code-object dat door de compile()
methode wordt geretourneerd , kan later worden aangeroepen met behulp van methoden zoals: exec () en eval () die dynamisch gegenereerde Python-code zullen uitvoeren.
compile () Parameters
source
- een normale string, een byte-string of een AST-objectfilename
- bestand waaruit de code werd gelezen. Als het niet uit een bestand is gelezen, kunt u zelf een naam gevenmode
- Ofexec
ofeval
ofsingle
.eval
- accepteert slechts een enkele uitdrukking.exec
- Het kan een codeblok hebben dat Python-instructies, klassen en functies heeft, enzovoort.single
- als het bestaat uit een enkele interactieve verklaring
flags
(optioneel) endont_inherit
(optioneel) - bepaalt welke toekomstige verklaringen de compilatie van de bron beïnvloeden. Standaardwaarde: 0optimize
(optioneel) - optimalisatieniveau van de compiler. Standaardwaarde -1.
Retourwaarde van compile ()
compile()
methode retourneert een Python-codeobject.
Voorbeeld: hoe werkt compile ()?
codeInString = 'a = 5b=6sum=a+bprint("sum =",sum)' codeObejct = compile(codeInString, 'sumstring', 'exec') exec(codeObejct)
Uitvoer
som = 11
Hier is de bron in de normale tekenreeksvorm. De bestandsnaam is somstring. En de exec
modus laat later het gebruik van een exec()
methode toe.
compile () methode converteert de string naar Python code-object. Het code-object wordt vervolgens uitgevoerd met behulp van de exec()
methode.