python-装饰器

定义

本质是函数,(装饰其他函数)就是为其他函数添加附加功能

原则

1.不能修改被装饰的函数的源代码

2.不能修改被装饰的函数的调用方式

实现装饰器的效果

1.函数即‘变量’

2.高阶函数

  a:把一个函数名当做实参传递给另一个函数(在不修改被装饰函数源代码的情况下为其添加功能)

  b:返回值中包含函数名(不修改函数的调用方式)

3.嵌套函数

高阶函数+嵌套函数=》装饰器

def timer(func):
  def deco():   
print('hello,world')   func()   return deco

@timer
#test1=timer(test1) def test1(): time.sleep(3) print('test1')

 

posted @ 2018-05-02 18:28  山重水复疑无路  阅读(118)  评论(0编辑  收藏  举报