Compile () -metoden returnerer et Python-kodeobjekt fra kilden (normal streng, en byte-streng eller et AST-objekt).
Syntaksen for compile()
er:
kompilere (kilde, filnavn, modus, flagg = 0, dont_inherit = Falsk, optimaliser = -1)
compile()
metoden brukes hvis Python-koden er i strengform eller er et AST-objekt, og du vil endre den til et kodeobjekt.
Kodeobjektet som returneres etter compile()
metode kan senere kalles ved hjelp av metoder som: exec () og eval () som vil utføre dynamisk generert Python-kode.
kompilere () parametere
source
- en normal streng, en byte-streng eller et AST-objektfilename
- fil som koden ble lest fra. Hvis den ikke ble lest fra en fil, kan du gi et navn selvmode
- Entenexec
ellereval
ellersingle
.eval
- godtar bare et enkelt uttrykk.exec
- Det kan ta en kodeblokk som har Python-setninger, klasse og funksjoner, og så videre.single
- hvis den består av en enkelt interaktiv uttalelse
flags
(valgfritt) ogdont_inherit
(valgfritt) - styrer hvilke fremtidige utsagn som påvirker kildesammensetningen. Standardverdi: 0optimize
(valgfritt) - optimaliseringsnivå for kompilatoren. Standardverdi -1.
Returneringsverdi fra kompilering ()
compile()
metoden returnerer et Python-kodeobjekt.
Eksempel: Hvordan fungerer compile ()?
codeInString = 'a = 5b=6sum=a+bprint("sum =",sum)' codeObejct = compile(codeInString, 'sumstring', 'exec') exec(codeObejct)
Produksjon
sum = 11
Her er kilden i normal strengform. Filnavnet er sumstring. Og, exec
modus senere tillater bruk av exec()
metode.
compile () -metoden konverterer strengen til Python-kodeobjekt. Kodeobjektet kjøres deretter ved hjelp av exec()
metode.