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

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

Barbara Streisand
Barbara Streisandオリジナル
2024-10-31 22:40:28265ブラウズ

How can you store and execute functions in Python using dictionaries and lists?

Python での関数の保存と起動

扱いにくい def ステートメントを回避し、複数の関数の管理を容易にするために、関数を保存する方法を検討します。

関数ディスパッチにディクショナリを使用する

関数は Python のファーストクラス オブジェクトであり、保存することができます。辞書を使用してディスパッチされます。次の例を考えてみましょう:

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

この辞書では、foo と bar は関数オブジェクトであり、呼び出し可能なインスタンス (foo() や bar() など) ではありません。 foo を呼び出すには、次のコマンドを使用します。

<code class="python">dispatcher['foo']()</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'])</code>

この場合、キー「foobar」は関数のリストにマップされます。 fire_all 関数はリストを反復処理し、各関数を実行します。

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

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