將帶參數的函數傳遞給Python中的另一個函數
問題:
是否可行將帶有參數的函數傳遞給Python中的另一個函數?例如,我們想要一個名為 Perform 的函數,它接受其他函數作為參數。這些傳遞的函數可以有不同數量的參數,例如action1()、action2(p)和action3(p,r)。
解:
是,在 Python 中可以使用可變長度參數清單 (*args)。以下是實現此目的的方法:
<code class="python">def perform(fun, *args): fun(*args) def action1(args): # Code for action1 def action2(args): # Code for action2 def action3(args, r): # Code for action3 perform(action1) # No arguments perform(action2, p) # One argument perform(action3, p, r) # Two arguments</code>
在此範例中,perform 函數採用函數 fun 和任意數量的位置參數 *args。然後,它使用提供的參數呼叫傳遞的函數 fun。
透過使用 *args,您可以將具有任意數量參數的函數傳遞給執行函數。參數將自動解包並傳遞給底層函數。
以上是Python 中帶參數的函數可以傳遞給其他函數嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!