Pythonの関数説明 eval()

eval() は、Pythonの組み込み関数の1つで、文字列として表現されたPython式を評価して実行するために使用されます。評価された式の結果を返します。
eval() 関数は文字列をPythonコードに変換し、そのコードを実行します。

eval() 関数の基本的な構文は以下の通りです:

python
eval(expression[, globals[, locals]])
  • expression: 評価したいPython式を表す文字列。これは評価されます。
  • globals (オプション): グローバル変数を指定するディクショナリ。省略可能で、通常は
    Noneを指定します。指定した場合、評価中にグローバル変数の参照が可能になります。
  • locals (オプション): ローカル変数を指定するディクショナリ。省略可能で、通常は
    Noneを指定します。指定した場合、評価中にローカル変数の参照が可能になります。

以下は
eval() 関数の例です:

python
x = 10
y = 20
result = eval("x + y")
print(result)  # 出力: 30

この例では、
eval() を使用して文字列
“x + y" を評価し、変数
x と
y の値を取得してそれらを加算しています。

eval() 関数の主な特徴と注意点:

  • 強力な機能:
    eval() は強力な機能を持つため、慎重に使用する必要があります。特に、信頼性のないデータから入力を受け取る場合や、セキュリティ上のリスクがある場合には使用しない方が安全です。

  • 文字列の評価:
    eval() は文字列として与えられたPythonコードを実行します。このため、文字列を適切なPython式に変換する必要があります。

  • グローバルとローカル:
    globals および
    locals パラメータを使用することで、評価中にアクセスできる変数のスコープを制御できます。

eval() 関数は通常、ユーザーからの入力を受け付ける対話型アプリケーションや、動的なコード生成などの場面で使用されますが、安全性に注意して使用する必要があります。不正なコードや危険な操作を実行する可能性があるため、注意が必要です。