使用參數將函數傳遞給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
提交
取消