Python の eval 関数とは何ですか? eval(expression, globals=None, locals=None) の実際のパラメータは文字列であり、オプションのグローバルとローカルです。 globals 引数は辞書である必要があります。ローカルは任意のマッピング オブジェクトにすることができます。
expression 引数は、グローバル名前空間とローカル名前空間のグローバル辞書とローカル辞書を使用して、Python 式 (技術的には条件のリスト) として解析および評価されます。グローバル ディクショナリが存在し、 __builtins__ によってキー設定された値が含まれていない場合、式が解析される前に、builtins によってキー設定されたディクショナリへの参照が挿入されます。これは、expression が通常、標準の組み込みモジュールに完全にアクセスでき、制限された環境が伝播されることを意味します。ローカル辞書が省略された場合、デフォルト値はグローバル辞書です。両方のディクショナリが省略された場合、式は eval() が呼び出されるコンテキストで評価されます。戻り値は式の評価結果です。構文エラーは例外として報告されます。
関連する推奨事項: 「Python ビデオ チュートリアル 」
例:
>>> x = 1 >>> eval('x+1') 2
この関数は、任意のコード オブジェクト (たとえば、コンパイル()が作成されました)。この場合、引数は文字列ではなくコード オブジェクトです。オブジェクトのコンパイル時のモード引数が 'exec' の場合、 eval() の戻り値は None になります。
ヒント: exec() 関数はステートメントの動的実行をサポートしています。 globals() 関数と locals() 関数はそれぞれ現在のグローバル辞書とローカル辞書を返すため、それらを eval() または exec() に渡して使用できます。
以上がPython で eval 関数を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。