Compile () -metoden returnerer et Python-kodeobjekt fra kilden (normal streng, en byte-streng eller et AST-objekt).
Syntaksen for compile()
er:
kompilere (kilde, filnavn, tilstand, flag = 0, dont_inherit = Falsk, optimer = -1)
compile()
metode bruges, hvis Python-koden er i strengform eller er et AST-objekt, og du vil ændre den til et kodeobjekt.
Kodeobjektet, der returneres efter compile()
metode, kan senere kaldes ved hjælp af metoder som: exec () og eval (), som udfører dynamisk genereret Python-kode.
kompilere () parametre
source
- en normal streng, en byte-streng eller et AST-objektfilename
- fil, hvorfra koden blev læst. Hvis den ikke blev læst fra en fil, kan du selv give et navnmode
- Entenexec
ellereval
ellersingle
.eval
- accepterer kun et enkelt udtryk.exec
- Det kan tage en kodeblok, der har Python-udsagn, klasse og funktioner osv.single
- hvis den består af en enkelt interaktiv erklæring
flags
(valgfrit) ogdont_inherit
(valgfrit) - styrer hvilke fremtidige udsagn, der påvirker kildens kompilering. Standardværdi: 0optimize
(valgfrit) - kompilatorens optimeringsniveau. Standardværdi -1.
Returneringsværdi fra kompilering ()
compile()
metode returnerer et Python-kodeobjekt.
Eksempel: Hvordan compile () fungerer?
codeInString = 'a = 5b=6sum=a+bprint("sum =",sum)' codeObejct = compile(codeInString, 'sumstring', 'exec') exec(codeObejct)
Produktion
sum = 11
Her er kilden i normal strengform. Filnavnet er sumstring. Og exec
tilstanden tillader senere brugen af exec()
metoden.
compile () -metoden konverterer strengen til Python-kodeobjekt. Kodeobjektet udføres derefter ved hjælp af exec()
metode.