python-修饰器

装饰器:本质就是函数,功能是为其他函数添加附加功能。

原则:

1)不修改被修饰函数的源代码

2)不修改被修饰函数的调用方式

 

装饰器=高阶函数+嵌套函数+闭包

高阶函数:

1)函数接收的参数是一函数名

2)函数的返回值是一函数名

3)满足上述任一,都可称之为高阶函数

 

装饰器框架:

def timmer(func):

  def wrapper():

    start_time=time.time()

    print(func)

    func()

    end_time=time.time()

    print("运行时间是:%s" %(end_time-start_time))

  return wrapper

def test():

  time.sleep(3)

  print("test函数运行完毕")

res = timmer(test) #返回的是wrapper的地址

res() #执行的是wrapper()

修饰器使用:

@timmer  #test=timmer(test)

test()

 

posted @ 2018-05-05 18:26  benchdog  阅读(130)  评论(0编辑  收藏  举报