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 objektasfilename
- byla, iš kurios buvo nuskaitytas kodas. Jei tai nebuvo nuskaityta iš failo, galite patys suteikti vardąmode
- Arbaexec
arbaeval
arbasingle
.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) irdont_inherit
(neprivaloma) - valdo, kurie būsimi teiginiai turės įtakos šaltinio sudarymui. Numatytoji reikšmė: 0optimize
(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 exec
režimas leidžia naudoti exec()
metodą.
metodas compile () eilutę paverčia Python kodo objektu. Tada kodo objektas vykdomas naudojant exec()
metodą.