Compilare Python ()

Metoda compile () returnează un obiect cod Python de la sursă (șir normal, șir de octeți sau obiect AST).

Sintaxa lui compile()este:

 compilați (sursă, nume de fișier, mod, steaguri = 0, dont_inherit = False, optimize = -1)

compile() metoda este utilizată dacă codul Python este sub formă de șir sau este un obiect AST și doriți să îl schimbați într-un obiect cod.

Obiectul de cod returnat prin compile()metodă poate fi apelat ulterior folosind metode precum: exec () și eval () care vor executa cod Python generat dinamic.

compile () Parametri

  • source - un șir normal, un șir de octeți sau un obiect AST
  • filename- fișier din care a fost citit codul. Dacă nu a fost citit dintr-un fișier, puteți da un nume personal
  • mode- Fie execsau evalfie single.
    • eval - acceptă doar o singură expresie.
    • exec - Poate lua un bloc de cod care are instrucțiuni Python, clasă și funcții și așa mai departe.
    • single - dacă constă dintr-o singură declarație interactivă
  • flags(opțional) și dont_inherit(opțional) - controlează ce declarații viitoare afectează compilarea sursei. Valoare implicită: 0
  • optimize(opțional) - nivelul de optimizare al compilatorului. Valoare implicită -1.

Valoare returnată din compilare ()

compile() returnează un obiect cod Python.

Exemplu: Cum funcționează compile ()?

 codeInString = 'a = 5b=6sum=a+bprint("sum =",sum)' codeObejct = compile(codeInString, 'sumstring', 'exec') exec(codeObejct)

Ieșire

 suma = 11

Aici, sursa este în formă de șir normal. Numele fișierului este sumstring. Și, execmodul permite ulterior utilizarea exec()metodei.

metoda compile () convertește șirul în obiect de cod Python. Obiectul cod este apoi executat folosind exec()metoda.

Articole interesante...