„Python“ kompiliavimas ()

Metodas „compile ()“ pateikia šaltinio „Python“ kodo objektą (įprastą eilutę, baitų eilutę arba AST objektą).

Sintaksė compile()yra:

 kompiliuoti (šaltinis, failo pavadinimas, režimas, vėliavos = 0, dont_inherit = klaidingas, optimizuoti = -1)

compile() metodas naudojamas, jei „Python“ kodas yra eilutės formos arba yra AST objektas, ir jūs norite jį pakeisti į kodo objektą.

compile()Metodo grąžintą kodo objektą vėliau galima iškviesti naudojant tokius metodus kaip: exec () ir eval (), kurie vykdys dinamiškai sugeneruotą „Python“ kodą.

sudaryti () parametrus

  • source - įprasta eilutė, baitų eilutė arba AST objektas
  • filename- byla, iš kurios buvo nuskaitytas kodas. Jei tai nebuvo nuskaityta iš failo, galite patys suteikti vardą
  • mode- Arba execarba evalarba single.
    • eval - priima tik vieną išraišką.
    • exec - Tai gali užimti kodų bloką, kuriame yra „Python“ sakiniai, klasė ir funkcijos ir pan.
    • single - jei jis susideda iš vieno interaktyvaus teiginio
  • flags(neprivaloma) ir dont_inherit(neprivaloma) - valdo, kurie būsimi teiginiai turės įtakos šaltinio sudarymui. Numatytoji reikšmė: 0
  • optimize(neprivaloma) - kompiliatoriaus optimizavimo lygis. Numatytoji reikšmė -1.

Grąžinimo vertė iš kompiliavimo ()

compile() metodas grąžina „Python“ kodo objektą.

Pavyzdys: Kaip veikia kompiliavimas ()?

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

Rezultatas

 suma = 11

Čia šaltinis yra įprastos eilutės formos. Failo pavadinimas yra sumstring. Vėliau execrežimas leidžia naudoti exec()metodą.

metodas compile () eilutę paverčia Python kodo objektu. Tada kodo objektas vykdomas naudojant exec()metodą.

Įdomios straipsniai...