English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base di Python

Controllo dei flussi in Python

Funzione in Python

Tipi di dati in Python

Operazioni su file in Python

Oggetti e classi in Python

Date e ora in Python

Conoscenze avanzate di Python

Manuale di Python

Utilizzo e esempio di compile() in Python

Funzioni integrate di Python

Il metodo compile() restituisce un oggetto di codice Python dal codice sorgente (stringa normale, stringa di byte o oggetto AST).

La sintassi di compile() è:

compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)

Se il codice Python è in forma di stringa o oggetto AST e si desidera trasformarlo in un oggetto di codice, utilizzare il metodo compile().

può essere utilizzato in seguito comeexec() e eval() eMetodi di classe per chiamare l'oggetto di codice restituito dal metodo compile(), che esegue il codice Python generato dinamicamente.

Parametri di compile()

  • source - stringa comune, stringa di byte o oggetto AST

  • filename - file da cui leggere il codice. Se non si legge da un file, può essere denominato personalmente

  • mode - exec o eval o single.

    • eval - accetta solo un'espressione.

    • exec - può utilizzare blocchi di codice con istruzioni, classi e funzioni Python e altro.

    • single - se contiene un'unica istruzione interattiva

  • flags (opzionale) e dont_inherit (opzionale) - specificare quali istruzioni influenzeranno la compilazione del codice sorgente. Valore predefinito: 0

  • optimize (opzionale) - livello di ottimizzazione del compilatore. Valore predefinito -1.

Valore di ritorno di compile()

Il metodo compile() restituisce un oggetto di codice Python.

Esempio: come funziona compile()?

codeInString = 'a = 5
b = 6
sum = a + b
print("sum =", sum)'
codeObejct = compile(codeInString, 'sumstring', 'exec')
exec(codeObejct)

Quando si esegue questo programma, l'output è:

sum = 11

Qui,sorgente (source)Adotta la forma di stringa comune. IlNome del fileèsumstringE, il modo exec() permette di utilizzare il metodo exec() in seguito.

Il metodo compile() trasforma una stringa in un oggetto di codice Python. Poi, viene eseguito l'oggetto di codice con il metodo exec().

Funzioni integrate di Python