Метод compile () повертає об'єкт коду Python з джерела (звичайний рядок, байтовий рядок або об'єкт AST).
Синтаксис compile():
компіляція (джерело, ім'я файлу, режим, прапори = 0, dont_inherit = False, оптимізувати = -1)
compile() метод використовується, якщо код Python має форму рядка або є об'єктом AST, і ви хочете змінити його на об'єкт коду.
Потім об'єкт коду, повернутий compile()методом, можна викликати за допомогою таких методів, як: exec () та eval (), які будуть виконувати динамічно генерований код Python.
Параметри compile ()
source- звичайний рядок, байтовий рядок або об'єкт ASTfilename- файл, з якого був прочитаний код. Якщо його не читали з файлу, ви можете вказати ім’я самостійно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
Тут джерело знаходиться у звичайній рядковій формі. Ім'я файлу - підсумок. І execзгодом режим дозволяє використовувати exec()метод.
метод compile () перетворює рядок на об'єкт коду Python. Потім об'єкт коду виконується за допомогою exec()методу.








