Python eval() 関数

Python 組み込み関数


説明

eval()この関数は文字列式を実行し、式の値を返します。

文字列式変数、関数呼び出し、演算子、その他の Python 構文要素を含めることができます。

構文

以下は eval() メソッドの構文です:

eval(expression[, globals[, locals]])

パラメータ

  • expression -- 式。
  • globals -- 変数のスコープ、グローバル名前空間。指定する場合は、辞書オブジェクトでなければなりません。
  • locals -- 変数のスコープ、ローカル名前空間。指定する場合は、任意のマッピングオブジェクトにすることができます。

eval() 関数は文字列 expression を Python 式として解析し、指定された名前空間でそれを実行します。

戻り値

eval() 関数は文字列を対応するオブジェクトに変換し、式の結果を返します。


例

以下は eval() メソッドを使用した例です:

例 1

>>>x = 7 >>> eval( '3 * x' ) 21 >>> eval('pow(2,2)') 4 >>> eval('2 + 2') 4 >>> n=81 >>> eval("n + 4") 85

例 2

# 簡単な数式を実行
result = eval("2 + 3 * 4")
print(result)  # 出力: 14

# 変数の参照を実行
x = 10
result = eval("x + 5")
print(result)  # 出力: 15

# 指定された名前空間で式を実行
namespace = {'a': 2, 'b': 3}
result = eval("a + b", namespace)
print(result)  # 出力: 5

注意:eval() 関数が実行するコードには潜在的なセキュリティリスクがあります。信頼できない文字列を式として使用すると、コードインジェクションの脆弱性が発生する可能性があります。そのため、eval() 関数は慎重に使用し、信頼できる文字列式のみを実行するようにしてください。

Python 組み込み関数

その他の拡張機能