Il metodo compile () restituisce un oggetto codice Python dall'origine (stringa normale, stringa di byte o un oggetto AST).
La sintassi di compile()è:
compile (sorgente, nome file, modalità, flag = 0, dont_inherit = False, ottimizzare = -1)
compile() viene utilizzato se il codice Python è in formato stringa o è un oggetto AST e si desidera cambiarlo in un oggetto codice.
L'oggetto codice restituito da compile()method può essere successivamente chiamato usando metodi come: exec () e eval () che eseguiranno codice Python generato dinamicamente.
Compile () Parametri
source- una stringa normale, una stringa di byte o un oggetto ASTfilename- file da cui è stato letto il codice. Se non è stato letto da un file, puoi dare un nome tu stessomode- Oexecoevalosingle.eval- accetta solo una singola espressione.exec- Può richiedere un blocco di codice con istruzioni, classi e funzioni Python e così via.single- se consiste in una singola dichiarazione interattiva
flags(facoltativo) edont_inherit(facoltativo) - controlla quali dichiarazioni future influenzano la compilazione del sorgente. Valore predefinito: 0optimize(opzionale) - livello di ottimizzazione del compilatore. Valore predefinito -1.
Valore restituito da compile ()
compile() restituisce un oggetto codice Python.
Esempio: come funziona compile ()?
codeInString = 'a = 5b=6sum=a+bprint("sum =",sum)' codeObejct = compile(codeInString, 'sumstring', 'exec') exec(codeObejct)
Produzione
somma = 11
Qui, la sorgente è in forma di stringa normale. Il nome del file è sumstring. E la execmodalità in seguito consente l'uso del exec()metodo.
Il metodo compile () converte la stringa in un oggetto codice Python. L'oggetto codice viene quindi eseguito utilizzando il exec()metodo.








