Python exec 組み込み文
説明
exec は文字列またはファイルに保存された Python 文を実行します。eval と比較して、exec はより複雑な Python コードを実行できます。
注意すべき点として、Python 2 では exec は関数ではなく組み込み文(statement)ですが、Python 2 には execfile() 関数があります。Python 3 では exec ステートメントと execfile() 関数の機能が新しい exec() 関数に統合されたと理解できます。
構文
以下は exec の構文です:
exec obj
パラメータ
- obj -- 実行する式。
戻り値
exec の戻り値は常に None です。
例
以下は exec を使用した例です:
例 1
>>>exec 'print "Hello World"'
Hello World
# 単行文の文字列
>>> exec "print 'example.com'"
サンプル.com
# 複数行文の文字列
>>> exec """for i in range(5):
... print "iter time: %d" % i
... """
iter time: 0
iter time: 1
iter time: 2
iter time: 3
iter time: 4
例 2
x = 10
expr = """
z = 30
sum = x + y + z
print(sum)
"""
def func():
y = 20
exec(expr)
exec(expr, {'x': 1, 'y': 2})
exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4})
func()
出力結果:
60 33 34その他の拡張
Python 組み込み関数