文字列として保存された Python コードの実行は、この言語のユニークで強力な機能です。このガイドでは、exec 関数と eval 関数を使用してこれを実現する方法について説明します。
ステートメントを処理する場合、exec は非常に重要であることがわかります。 Python 3 では exec(string) として動作しますが、Python 2 では単なる exec string です。次の例を考えてみましょう。
my_code = 'print("Hello world")' exec(my_code)
結果として、「Hello world」がコンソールに出力されます。
対照的に、eval は次のようになります。式の値が必要な場合に再生します。構文は Python のバージョン間で同様です。
x = eval("2+2")
これにより、式 "2 2" (つまり 4) の結果が変数 x に割り当てられます。
exec と eval は多用途性を提供しますが、使用する場合は注意が必要です。外部ソースに由来する可能性のあるコードを実行すると、重大なセキュリティ リスクが生じます。これにより、潜在的な攻撃者がシステム上で任意のコードを実行できるようになります。
コード文字列の実行に頼る前に、高階関数などの代替アプローチを検討してください。これらは、よりクリーンで安全、より効率的なソリューションを提供します。
以上が「exec」と「eval」を使用して Python コード文字列を安全に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。