English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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.
Il metodo compile() restituisce un oggetto di codice Python.
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().