Pythonová kompilace ()

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 AST
  • filename- soubor, ze kterého byl kód načten. Pokud to nebylo načteno ze souboru, můžete pojmenovat sami
  • mode- Buď execnebo evalnebo single.
    • 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é) a dont_inherit(nepovinné) - určuje, které budoucí příkazy ovlivní kompilaci zdroje. Výchozí hodnota: 0
  • optimize(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.

Zajímavé články...