Pythonでeval関数を使ってコードを動的に実行の方法
evalは、文字列をPythonの式として評価して結果を返す組込み関数です。
eval(式、 **globals**=None、 **locals**=None)
パラメータの説明:
- 計算する文字列式。
- globals:オプショナル引数で、グローバル名前空間(辞書型)を定義します。
- locals:オプションの引数で、ローカル名前空間(辞書型)を定義します。
evalは文字列式をPythonコードにパースして、式を評価した結果を返します。算術演算、論理演算、関数呼び出しなど、正当なPythonコードであれば何でも実行できます。
これは素晴らしいことです。→ なんてすばらしいことでしょう。
- 簡単な算術式を計算します:
result = eval("2 + 3")
print(result) # 输出: 5
- 変数に値を代入
x = 5
eval("x = 10")
print(x) # 输出: 10
- 関数を呼び出す。
value = eval("len('hello')")
print(value) # 输出: 5
eval関数は任意のPythonコードを実行するので、悪意のあるコードが実行されないように注意深く使用する必要があります。