将带参数的函数传递给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中文网其他相关文章!