ホームページ >バックエンド開発 >Python チュートリアル >Python で eval 関数を使用する方法

Python で eval 関数を使用する方法

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-06-21 13:22:274790ブラウズ

Python の eval 関数とは何ですか? eval(expression, globals=None, locals=None) の実際のパラメータは文字列であり、オプションのグローバルとローカルです。 globals 引数は辞書である必要があります。ローカルは任意のマッピング オブジェクトにすることができます。

Python で eval 関数を使用する方法

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。