使用参数将函数传递给Python中的另一个函数?是否可以将带有参数的函数传递给Python中的另一个函数?比如说:def perform(function): return function()但要传递的函数将具有如下参数:action1()action2(p)action3(p,r)
3 回答
慕沐林林
TA贡献2016条经验 获得超9个赞
你是说这个吗?
def perform( fun, *args ):
fun( *args )
def action1( args ):
something
def action2( args ):
something
perform( action1 )
perform( action2, p )
perform( action3, p, r )
喵喵时光机
TA贡献1846条经验 获得超7个赞
这就是lambda的用途:
def Perform(f):
f()
Perform(lambda: Action1())
Perform(lambda: Action2(p))
Perform(lambda: Action3(p, r))
阿晨1998
TA贡献2037条经验 获得超6个赞
您可以使用functools中的partial函数。
from functools import partial
def perform(f):
f()
perform(Action1)
perform(partial(Action2, p))
perform(partial(Action3, p, r))
也适用于关键字
perform(partial(Action4, param1=p))
添加回答
举报
0/150
提交
取消