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
- Oexec
oeval
osingle
.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 exec
modalità 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.