Metoda compile () vrací objekt kódu Pythonu ze zdroje (normální řetězec, bajtový řetězec nebo objekt AST).
Syntaxe compile()
je:
kompilace (zdroj, název souboru, režim, příznaky = 0, dont_inherit = False, optimalizace = -1)
compile()
metoda se používá, pokud je kód Pythonu ve formě řetězce nebo je objektem AST a chcete jej změnit na objekt kódu.
Objekt kódu vrácený compile()
metodou lze později volat pomocí metod jako: exec () a eval (), které budou spouštět dynamicky generovaný kód Pythonu.
compile () parametry
source
- normální řetězec, bajtový řetězec nebo objekt ASTfilename
- soubor, ze kterého byl kód načten. Pokud to nebylo načteno ze souboru, můžete pojmenovat samimode
- Buďexec
neboeval
nebosingle
.eval
- přijímá pouze jeden výraz.exec
- Může trvat blok kódu, který obsahuje příkazy Pythonu, třídu a funkce atd.single
- pokud se skládá z jediného interaktivního příkazu
flags
(nepovinné) adont_inherit
(nepovinné) - určuje, které budoucí příkazy ovlivní kompilaci zdroje. Výchozí hodnota: 0optimize
(nepovinné) - úroveň optimalizace kompilátoru. Výchozí hodnota -1.
Návratová hodnota z kompilace ()
compile()
metoda vrací objekt kódu Pythonu.
Příklad: Jak funguje compile ()?
codeInString = 'a = 5b=6sum=a+bprint("sum =",sum)' codeObejct = compile(codeInString, 'sumstring', 'exec') exec(codeObejct)
Výstup
součet = 11
Zde je zdroj v normální podobě řetězce. Název souboru je sumstring. A je exec
režim později umožňuje použití exec()
metody.
metoda compile () převede řetězec na objekt kódu Pythonu. Objekt kódu se poté provede pomocí exec()
metody.