Python компилация ()

Методът 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(по избор) - контролира кои бъдещи изявления влияят върху компилацията на източника. Стойност по подразбиране: 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()метод.

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