Metóda compile () vracia objekt kódu Python zo zdroja (normálny reťazec, bajtový reťazec alebo objekt AST).
Syntax compile()
je:
kompilácia (zdroj, názov súboru, režim, príznaky = 0, dont_inherit = False, optimalizácia = -1)
compile()
metóda sa používa, ak je kód Pythonu vo forme reťazca alebo je objektom AST a chcete ho zmeniť na objekt kódu.
Objekt kódu vrátený compile()
metódou je možné neskôr nazvať pomocou metód ako: exec () a eval (), ktoré vykonajú dynamicky generovaný kód Pythonu.
compile () parametre
source
- normálny reťazec, bajtový reťazec alebo objekt ASTfilename
- súbor, z ktorého bol načítaný kód. Ak to nebolo načítané zo súboru, môžete si dať meno samimode
- Buďexec
aleboeval
alebosingle
.eval
- akceptuje iba jediný výraz.exec
- Môže to trvať blok kódu, ktorý obsahuje príkazy Pythonu, triedu a funkcie atď.single
- ak sa skladá z jedného interaktívneho výpisu
flags
(voliteľné) adont_inherit
(voliteľné) - určuje, ktoré budúce výroky ovplyvnia kompiláciu zdroja. Predvolená hodnota: 0optimize
(voliteľné) - úroveň optimalizácie prekladača. Predvolená hodnota -1.
Návratová hodnota z kompilácie ()
compile()
metóda vráti objekt kódu Python.
Príklad: Ako funguje compile ()?
codeInString = 'a = 5b=6sum=a+bprint("sum =",sum)' codeObejct = compile(codeInString, 'sumstring', 'exec') exec(codeObejct)
Výkon
súčet = 11
Tu je zdroj v normálnej podobe reťazca. Názov súboru je sumstring. A je exec
režim neskôr umožňuje použitie exec()
metódy.
metóda compile () prevádza reťazec na objekt kódu Python. Objekt kódu sa potom vykoná pomocou exec()
metódy.