Compilazione Python ()

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 AST
  • filename- file da cui è stato letto il codice. Se non è stato letto da un file, puoi dare un nome tu stesso
  • mode- O execo evalo single.
    • 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) e dont_inherit(facoltativo) - controlla quali dichiarazioni future influenzano la compilazione del sorgente. Valore predefinito: 0
  • optimize(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.

Articoli interessanti...