Pythonの関数説明 exec()
exec() は、Pythonの組み込み関数の1つで、文字列として表現されたPythonコードを実行するために使用されます。
eval() 関数とは異なり、
exec() はコードブロック全体を実行し、評価結果を返さない点が異なります。通常、
exec() を使用してPythonスクリプトを動的に生成し、実行することができます。
exec() 関数の基本的な構文は以下の通りです:
python exec(object[, globals[, locals]])
- object: 実行したいPythonコードを表す文字列、バイトコード、またはコードオブジェクト。
-
globals (オプション): グローバル変数を指定するディクショナリ。省略可能で、通常は
None を指定します。指定した場合、実行中にグローバル変数を操作できます。 -
locals (オプション): ローカル変数を指定するディクショナリ。省略可能で、通常は
None を指定します。指定した場合、実行中にローカル変数を操作できます。
以下は
exec() 関数の例です:
python x = 10 y = 20 code = """ z = x + y print(z) """ exec(code) # code内のPythonコードを実行
この例では、
exec() を使用して文字列
code に格納されたPythonコードを実行し、変数
z の値を計算して表示しています。
exec() 関数の主な特徴と注意点:
-
コードの実行:
exec() は文字列として与えられたPythonコードを実行します。コード内での計算や操作は行われますが、結果は返されません。 -
強力な機能:
exec() は強力な機能を持つため、慎重に使用する必要があります。特に、信頼性のないデータから入力を受け取る場合や、セキュリティ上のリスクがある場合には使用しない方が安全です。 -
グローバルとローカル:
globals および
locals パラメータを使用することで、実行中にアクセスできる変数のスコープを制御できます。
exec() 関数は、Pythonスクリプトを動的に生成し、実行する場合や、動的なコードの生成や変更が必要な場面で使用されます。ただし、慎重に使用し、セキュリティ上のリスクを考慮することが重要です。

ディスカッション
コメント一覧
まだ、コメントがありません