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