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ďexecneboevalnebosingle.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 execrež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.








