返回函数

1.返回函数:把函数作为结果值返回

def lasy_sum(*args):
    def sum():
        ax=0
        for n in args:
            ax=ax+n
        return ax
    return sum #返回函数
f=lasy_sum(1,5,6,6,6,6)
f() #调用函数才真正计算结果

###返回函数不能引用任何循环变量或者会发生变化的变量
2.匿名函数
lambda x: x*x
冒号前X表示函数参数,只能有一个表达式,结果及返回值
匿名函数也可以作为返回值返回

def A(x)
		return lambda x:x*x

3.装饰器
在代码运行期间动态增加功能的方式(Decorator)本质上是一个返回函数的高阶函数

import time, functools
def metric(fn):
    @functools.wraps(fn)
    def wapper(args,**kw):
        print('%s executed in %s ms' % (fn.__name__, 10.24))
        return fn(args,**kw)
    return wapper

@metric

def test(fn):
    time.sleep(0.0012)
    print('%s executed in %s ms' % (fn.name, 1024))
f = test
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值