Как использовать функцию compile() в Python

Python compile() — это встроенный метод, который возвращает объект кода Python из источника (обычная строка, строка байтов или объект AST). Функция compile() возвращает указанный источник как объект кода, готовый к выполнению.

Метод Python compile()

Что такое функция compile() в Python?

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

Синтаксис

Параметры

Параметр Описание
source обязателен, источником для компиляции может быть строка, объект Bytes или объект AST.
filename Требуемый. Имя файла, из которого берется исходный код. Если источник не взят из файла, вы можете написать все, что вам нравится.
mode Требуемый.
eval – если источником является одно выражение
exec – если источником является блок инструкций
single – если источником является уникальный интерактивный оператор
flags Необязательный. Как скомпилировать исходный код. Значение по умолчанию 0
dont-inherit Необязательный. Как скомпилировать исходный код. Значение по умолчанию False
optimize Необязательный. Определяет уровень оптимизации компилятора. Значение по умолчанию -1

Метод compile() возвращает объект кода Python. Весь код можете проверить в питон онлайн компилятор на русском.

См. следующий пример кода.

Вывод:

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

Давайте посмотрим на другой пример программирования.

См. следующий вывод.

Здесь источник находится в стандартной строковой форме. Имя файла mulstring. И режим exec позже позволяет использовать метод exec().

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

compile() с eval()

Давайте посмотрим на сценарий компиляции выражения в код и выполнения его с помощью функции eval().

Вывод:

compile() с источником строки байтов

См. следующий пример использования строки байтов в качестве источника.

См. следующий вывод.

Вывод

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

Оцените статью

Автор статей и разработчик, делюсь знаниями.

Программирование на Python