Компиляция Python ()

Метод compile () возвращает объект кода Python из источника (обычную строку, байтовую строку или объект AST).

Синтаксис compile():

 компиляция (источник, имя файла, режим, флаги = 0, dont_inherit = False, optimize = -1)

compile() используется, если код Python имеет строковую форму или является объектом AST, и вы хотите изменить его на объект кода.

Объект кода, возвращаемый compile()методом, позже может быть вызван с помощью таких методов, как exec () и eval (), которые будут выполнять динамически сгенерированный код Python.

compile () Параметры

  • source - обычная строка, байтовая строка или объект AST
  • filename- файл, из которого был прочитан код. Если оно не было прочитано из файла, вы можете дать имя самостоятельно
  • mode- Либо execили, evalлибо single.
    • eval - принимает только одно выражение.
    • exec - Это может быть блок кода, содержащий операторы Python, классы, функции и т. Д.
    • single - если он состоит из одного интерактивного оператора
  • flags(необязательно) и dont_inherit(необязательно) - контролирует, какие будущие утверждения повлияют на компиляцию источника. Значение по умолчанию: 0
  • optimize(необязательно) - уровень оптимизации компилятора. Значение по умолчанию -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()метода.

Интересные статьи...