Python fordítás ()

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 objektum
  • filename- fájl, amelyből a kódot kiolvasták. Ha nem fájlból olvasta be, akkor maga adhat nevet
  • mode- Vagy exec, vagy eval, vagy single.
    • 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) és dont_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: 0
  • optimize(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 execmó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 .

érdekes cikkek...