Методът compile () връща Python кодов обект от източника (нормален низ, байтов низ или AST обект).
Синтаксисът на compile()
е:
компилиране (източник, име на файл, режим, флагове = 0, dont_inherit = False, оптимизиране = -1)
compile()
метод се използва, ако Python кодът е под формата на низ или е AST обект и искате да го промените на кодов обект.
Кодовият обект, върнат от compile()
метод, може по-късно да бъде извикан с помощта на методи като: exec () и eval (), които ще изпълняват динамично генериран код на Python.
compile () Параметри
source
- нормален низ, байтов низ или AST обектfilename
- файл, от който е прочетен кода. Ако не е прочетено от файл, можете сами да дадете имеmode
- Илиexec
илиeval
илиsingle
.eval
- приема само един израз.exec
- Може да вземе кодов блок, който има Python изрази, клас и функции и т.н.single
- ако се състои от едно интерактивно изявление
flags
(по избор) иdont_inherit
(по избор) - контролира кои бъдещи изявления влияят върху компилацията на източника. Стойност по подразбиране: 0optimize
(по избор) - ниво на оптимизация на компилатора. Стойност по подразбиране -1.
Върната стойност от compile ()
compile()
метод връща Python кодов обект.
Пример: Как работи compile ()?
codeInString = 'a = 5b=6sum=a+bprint("sum =",sum)' codeObejct = compile(codeInString, 'sumstring', 'exec') exec(codeObejct)
Изход
сума = 11
Тук източникът е в нормална низова форма. Името на файла е sumstring. И по- exec
късно режимът позволява използването на exec()
метод.
compile () метод преобразува низа в Python кодов обект. След това кодовият обект се изпълнява с помощта на exec()
метод.