python-装饰器1

python-装饰器1

 

定义
本质就是函数,(装饰其他函数)就是为其他函数添加附加功能
原则:
1、不能修改被装饰的函数的源代码
2、不能修改被装饰的函数的调用方式

def logger():
  print('logging')

def test1():
    pass
    logger()
    
def test1():
    pass  
    logger()
    
    
    
test1()
test2()

实现装饰器知识:
1.函数既“变量”
2、高阶函
a :把一个函数名当做实参传给另外一个函数(不能修改被装饰的函数的源代码)
b :返回值中包含函数名

3、嵌套函数
就是在一个函数中用def定义一个新的函数。

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

import  time
def timmer(func):
    def warpper(*args,**kwargs):
        start_time=time.time()
        func()
        stop_time=time.time()
        print('the func run time is %s'%(stop_time-start_time))
    return warpper


@timmer
def test1():
    time.sleep(3)
    print("in the test1")
test1()
原文地址:https://www.cnblogs.com/kezi/p/11980550.html