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, 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-objekt
  • filename- fil som koden ble lest fra. Hvis den ikke ble lest fra en fil, kan du gi et navn selv
  • mode- Enten execeller evaleller single.
    • 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) og dont_inherit(valgfritt) - styrer hvilke fremtidige utsagn som påvirker kildesammensetningen. Standardverdi: 0
  • optimize(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, execmodus senere tillater bruk av exec()metode.

compile () -metoden konverterer strengen til Python-kodeobjekt. Kodeobjektet kjøres deretter ved hjelp av exec()metode.

Interessante artikler...