为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

开心每一天1111 2019-08-30 10:59:25
使用参数将函数传递给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 )


查看完整回答
反对 回复 2019-08-30
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

这就是lambda的用途:


def Perform(f):

    f()


Perform(lambda: Action1())

Perform(lambda: Action2(p))

Perform(lambda: Action3(p, r))


查看完整回答
反对 回复 2019-08-30
?
阿晨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))


查看完整回答
反对 回复 2019-08-30
  • 3 回答
  • 0 关注
  • 930 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信