首页 > 其他 > 详细

装饰器

时间:2018-12-21 00:42:51      阅读:167      评论:0      收藏:0      [点我收藏+]

装饰器 = 高阶函数+闭包+函数嵌套
高阶函数定义:
函数接收的参数是函数名,或者函数的返回值是一个函数名
函数嵌套:
一个函数内,在重新定义一个函数
闭包:
其实就是作用域的另外一种名词,当前函数调用变量时,本地没有就找
上级。上级函数包含下级函数

def wapper(func):
    def inner(x,y):
        print(x+y)
        func(x,y)
    return inner


@wapper                  
def foo(x,y):
    print(x-y)

1,将foo内存地址传递到wapper(foo),func接收foo内存地址

2.返回inner内存地址,foo接收   foo = inner

3.执行foo(3,2),就是执行inner(3,2),inner里面的func其实值接收的最开始传递进来的foo的内存地址

 

 

装饰器加参数

import time

def timmer(func):
    def con(*args, **kwargs):
        start_time = time.time()
        res = func(*args, **kwargs)
        stop_time = time.time()
        print(函数运行时间是:%s % (stop_time - start_time))
        return res
    return con
@timmer
def test(name, age,sex,money):
    time.sleep(3)
    print(函数运行完毕)
    print(fname是{name},年纪是{age},性别是{sex},存款是{money})
    return 这是test返回值


res = test(zheng, age=18, sex=)

print(res)

 

装饰器

原文:https://www.cnblogs.com/zhengyiqun1992/p/10153396.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!