Встроенная функция Python compile()

Из документации Python 3

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

Introduction

Встроенная функция compile() в Python используется для преобразования строки или объекта Абстрактного Синтаксического Дерева (AST) в объект кода. Этот объект кода затем может быть выполнен такими функциями, как exec() или eval().

Example

Вот базовый пример того, как это работает:

code_string = """
def hello_world():
    print('Hello, world!')

hello_world()
"""

# Компилируем строку в объект кода
# Режим 'exec' используется для последовательности операторов.
# Режим 'eval' используется для одного выражения.
# Режим 'single' используется для одного интерактивного оператора.
code_object = compile(code_string, '<string>', 'exec')

# Выполняем объект кода
exec(code_object)
Hello, world!