English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Python

Контроль потока в Python

Функции в Python

Типы данных в Python

Файловые операции в Python

Объекты и классы в Python

Даты и время в Python

Продвинутые знания Python

Руководство по Python

Метод compile() в Python: использование и примеры

Внутренние функции Python

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

Синтаксис функции compile():

compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)

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

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

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

  • source - обычная строка, строка байтов или объект AST

  • filename - файл, из которого читается код. Если код не читается из файла, можно самому назвать

  • mode - exec или eval или single.

    • eval - принимает только одно выражение.

    • exec - может использовать блок кода с Python-операциями, классами и функциями и т.д.

    • single - если содержит единственную интерактивную команду

  • flags (по умолчанию) и dont_inherit (по умолчанию) - specify which statements will affect the compilation of the source code. Default value: 0

  • optimize (по умолчанию) - уровень оптимизации компилятора. По умолчанию -1.

Возврат значения compile()

Метод compile() возвращает объект кода Python.

Пример: как работает метод compile()?

codeInString = 'a = 5
b = 6
sum = a + b
print("sum =", sum)'
codeObejct = compile(codeInString, 'sumstring', 'exec')
exec(codeObejct)

Когда вы запустите этот программ, вывод будет:

sum = 11

здесь,источник (source)в виде обычной строки. Этаимя файлаявляетсяsumstring. И,exec-режим позволяет использовать метод exec() позже.

Метод compile() преобразует строку в объект кода Python. Затем используется метод exec() для выполнения объекта кода.

Внутренние функции Python