Python compile()

La funzione compile() restituisce la sorgente specificata come oggetto, pronto per essere eseguito.

compile(fonte, nome del file, mode, flag, dont_inherit, optimize)

I parametri:

  • fonte: una stringa normale, una stringa di byte o un oggetto AST.
  • nome del file: file da cui è stato letto il codice. Se non è stato letto da un file, potete dare un nome voi stessi.
  • mode: exec o eval o single. Eval accetta solo una singola espressione. Exec può prendere un blocco di codice che ha istruzioni, classe e funzioni, etc. Single consiste di una singola dichiarazione.
  • flag (facoltativo) e dont_inherit (facoltativo): controlla che le dichiarazioni future influiscono sulla compilazione della fonte. Valore predefinito: 0.
  • optimize (facoltativo): livello di ottimizzazione del compilatore. Valore predefinito -1.
codice = 'a = 3\nb=3\nsum=a+b\nprint("sum =",sum)'
oggetto = compile(codice, 'sumstring', 'exec')
exec(oggetto)

a = compile('print(42)', 'test', 'eval')
exec(a)

Output del codice

sum = 6
42