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 ASTfilename
- fișier din care a fost citit codul. Dacă nu a fost citit dintr-un fișier, puteți da un nume personalmode
- Fieexec
saueval
fiesingle
.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) șidont_inherit
(opțional) - controlează ce declarații viitoare afectează compilarea sursei. Valoare implicită: 0optimize
(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, exec
modul permite ulterior utilizarea exec()
metodei.
metoda compile () convertește șirul în obiect de cod Python. Obiectul cod este apoi executat folosind exec()
metoda.