ホームページ  >  記事  >  バックエンド開発  >  Python データ構造で関数を保存および取得するにはどうすればよいですか?

Python データ構造で関数を保存および取得するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-31 16:03:02642ブラウズ

How can I store and retrieve functions in Python data structures?

取得のために関数をデータ構造に保存する

関数をリストまたはディクショナリに保存すると、インデックスまたはキーに基づいて選択的に実行できます。ただし、関数呼び出しをデータ構造内に格納するという単純なアプローチでは、望ましい結果は得られません。

Python の関数のファーストクラス オブジェクトとしてのサポートは、洗練されたソリューションを提供します。関数をオブジェクトとして扱うことで、辞書を使用して関数をディスパッチできます。キーは関数を表し、値は関数オブジェクト自体です。関数を実行するには、辞書項目を括弧付きの関数として呼び出すだけです。

dispatcher = {'foo': foo, 'bar': bar}
dispatcher['foo']()

複数の関数が辞書内にリストとして格納されている場合、ループを使用して各関数を実行できます。

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

dispatcher = {'foobar': [foo, bar], 'bazcat': [baz, cat]}
fire_all(dispatcher['foobar'])

このアプローチにより、特に特定の関数名を覚えるのが面倒になる多数の関数の場合に、関数の便利な保存と取得が可能になります。

以上がPython データ構造で関数を保存および取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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