猿问

使用参数将函数传递给Python中的另一个函数?

使用参数将函数传递给Python中的另一个函数?

是否可以将带有参数的函数传递给Python中的另一个函数?


比如说:


def perform(function):

    return function()

但要传递的函数将具有如下参数:


action1()

action2(p)

action3(p,r)


开心每一天1111
浏览 931回答 3
3回答

慕沐林林

你是说这个吗?def perform( fun, *args ):    fun( *args )def action1( args ):    somethingdef action2( args ):    somethingperform( action1 )perform( action2, p )perform( action3, p, r )

喵喵时光机

这就是lambda的用途:def Perform(f):    f()Perform(lambda: Action1())Perform(lambda: Action2(p))Perform(lambda: Action3(p, r))

阿晨1998

您可以使用functools中的partial函数。from functools import partialdef perform(f):    f()perform(Action1)perform(partial(Action2, p))perform(partial(Action3, p, r))也适用于关键字perform(partial(Action4, param1=p))
随时随地看视频慕课网APP

相关分类

Python
我要回答