A compile () metódus Python kód objektumot ad vissza a forrásból (normál karakterlánc, bájt karakterlánc vagy AST objektum).
A szintaxisa compile()
:
fordítás (forrás, fájlnév, mód, flags = 0, dont_inherit = Hamis, optimalizálás = -1)
compile()
metódust akkor használjuk, ha a Python kód karakterlánc formában van, vagy AST objektum, és azt kódobjektummá kívánja változtatni.
A compile()
metódussal visszaadott kódobjektum később olyan módszerekkel hívható meg, mint: exec () és eval (), amelyek dinamikusan generált Python-kódot hajtanak végre.
compile () Paraméterek
source
- normál karakterlánc, bájt karakterlánc vagy AST objektumfilename
- fájl, amelyből a kódot kiolvasták. Ha nem fájlból olvasta be, akkor maga adhat nevetmode
- Vagyexec
, vagyeval
, vagysingle
.eval
- csak egyetlen kifejezést fogad el.exec
- Elfogadhat egy kódblokkot, amely rendelkezik Python utasításokkal, osztályral és függvényekkel, és így tovább.single
- ha egyetlen interaktív utasításból áll
flags
(opcionális) ésdont_inherit
(opcionális) - vezérli, hogy a jövőbeli állítások milyen hatással vannak a forrás összeállítására. Alapértelmezett érték: 0optimize
(opcionális) - a fordító optimalizálási szintje. Alapértelmezett érték -1.
Visszatérési érték a fordításból ()
compile()
metódus Python kód objektumot ad vissza.
Példa: Hogyan működik a compile ()?
codeInString = 'a = 5b=6sum=a+bprint("sum =",sum)' codeObejct = compile(codeInString, 'sumstring', 'exec') exec(codeObejct)
Kimenet
összeg = 11
Itt a forrás normál karakterlánc formában van. A fájlnév összefoglaló. És a exec
mód később lehetővé teszi a exec()
módszer használatát .
A compile () metódus átalakítja a karakterláncot Python kód objektummá. A kódobjektum ezután a exec()
metódus segítségével kerül végrehajtásra .