Python 組み込み関数 compile()

Python 3 ドキュメントより

ソースをコードオブジェクトまたは AST オブジェクトにコンパイルします。コードオブジェクトはexec()またはeval()によって実行できます。source は、通常の文字列、バイト文字列、または AST オブジェクトのいずれかです。AST オブジェクトの操作については、ast モジュールのドキュメントを参照してください。

Introduction

Python のcompile()関数は、文字列または抽象構文木(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!