Python構文評価関数

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}

おすすめ

転載: blog.csdn.net/qq_45465526/article/details/103994588