Python構文:eval関数
使用法
eval(expression, globals=None, locals=None)
パラメータ:
- 式:必須パラメーター。これは、ストリングまたは任意のコードオブジェクトインスタンス(コンパイル関数で作成できる)にすることができます。文字列の場合は、Python式として分析および解釈されます。
- globals:オプションのパラメーターで、グローバル名前空間を表します(グローバル変数を格納します)。指定する場合は、ディクショナリオブジェクトである必要があります。
- locals:現在のローカル名前空間を表すオプションのパラメーター(ローカル変数を格納)が提供されている場合、任意のマッピングオブジェクトを使用できます。省略した場合、グローバルと同じ値になります。
- グローバルとローカルの両方が無視される場合、それらはeval()関数が呼び出される環境下でグローバル名前空間とローカル名前空間を取得します。
例
1.簡単な表現
print(eval('1+2'))
出力結果:3
2.辞書への文字列
print(eval("{'name':'linux','age':18}")
出力結果:{'name': 'linux'、 'age':18}
3.グローバル変数を渡す
print(eval("{'name':'linux','age':age}"{
"age":500}))
出力結果:{'name': 'linux'、 'age':1822}
4.ローカル変数(ローカル変数)を転送する
age = 20
print(eval("{'name':'linux','age':age}"{
"age":500},locals()))
出力結果:{'name': 'linux'、 'age':20}