Python-kompilering ()

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-objekt
  • filename- fil, hvorfra koden blev læst. Hvis den ikke blev læst fra en fil, kan du selv give et navn
  • mode- Enten execeller evaleller single.
    • 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) og dont_inherit(valgfrit) - styrer hvilke fremtidige udsagn, der påvirker kildens kompilering. Standardværdi: 0
  • optimize(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 exectilstanden tillader senere brugen af exec()metoden.

compile () -metoden konverterer strengen til Python-kodeobjekt. Kodeobjektet udføres derefter ved hjælp af exec()metode.

Interessante artikler...