ホームページ >バックエンド開発 >Python チュートリアル >Python で辞書を使用して関数を動的に保存および実行するにはどうすればよいですか?

Python で辞書を使用して関数を動的に保存および実行するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-31 11:44:31521ブラウズ

How can I store and execute functions dynamically using dictionaries in Python?

辞書を使用した関数の保存と実行

Python では、関数はファーストクラスのオブジェクトであり、データ構造に保存して渡すことができます。変数として扱います。これにより、外部入力に基づいて関数を動的に実行する可能性が広がります。

関数の保存と実行を実現する 1 つの方法は、辞書を使用することです。ディクショナリはキーと値のペアのコレクションであり、キーには関数名を含む任意の不変オブジェクトを指定できます。

ディクショナリへの関数の保存

ディクショナリに関数を保存するには、関数オブジェクト自体 (関数呼び出しの結果ではない) を辞書キーに割り当てます。例:

<code class="python">dispatcher = {'foo': foo, 'bar': bar}</code>

辞書からの関数の実行

辞書に保存されている関数を実行するには、辞書キーを使用して関数オブジェクトにアクセスし、呼び出します。機能は正常に動作します。例:

<code class="python">dispatcher['foo']() # Calls the foo function</code>

リスト内の複数の関数の保存と実行

リストに保存された複数の関数を保存および実行したい場合は、目的の実行シナリオを表すキーを含む辞書。次に、ヘルパー関数を使用して関数リストを反復処理し、各関数を実行できます。例:

<code class="python">dispatcher = {'foobar': [foo, bar], 'bazcat': [baz, cat]}

def fire_all(func_list):
    for f in func_list:
        f()

fire_all(dispatcher['foobar']) # Executes both foo and bar functions</code>

結論

関数の保存と実行にディクショナリを利用すると、柔軟性とコード編成が実現します。これにより、外部入力に基づいて関数を動的に選択して実行できるため、コードの効率性と保守性が向上します。

以上がPython で辞書を使用して関数を動的に保存および実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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