返回函数、匿名函数lambda、偏函数

1、函数作为结果值返回

例如:可变参数求和,不会立刻返回求和结果,而是返回求和函数

例如:可变参数求和

def lazy_sum(*args):
    def sum():
        ax = 0
        for n in args:#返回函数内部引用了lazy_num()函数的参数
            ax = ax + n
        return ax
    return sum
>>> f = lazy_sum(1, 3, 5, 7, 9)
>>> f
<function lazy_sum.<locals>.sum at 0x101c6ed90>
调用lazy_sum,返回的是求和函数

>>> f()
25

当再次调用f时,返回的才是求和结果


上述是在交互式环境打的,要在编程环境,可以使用print打印出结果

print(f)#返回的是

<function lazy_sum.<locals>.sum at 0x101c6ed90>

print(f()) #返回的结果是25


2、关键字lambda表示匿名函数。

lambda x: x*x   只能有一个表达式,:左边的x指参数,不用写return,返回值就是表达式x*x


匿名函数和定义的函数属性一样,都属于函数,可以赋给变量,通过变量调用,也可以作为返回值


3、偏函数

functools.partial 可创建一个偏函数








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值