在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中文網其他相關文章!