装饰器

装饰器:装饰别人的工具,修饰添加功能,工具指的是函数

装饰器本身可以是任何可调用对象,被装饰的对象也可以是任意可调用对象。

为什么要用装饰器:

  开放封闭原则:对修改是封闭的,对扩展是开放的

  装饰器就是为了在不修改被装饰对象的源代码以及调用方式的前提下,为期添加新功能

import time

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

@timmer
def index():

    time.sleep(3)
    print('welcome to index')

index()
#!/usr/bin/python
# -*- coding:utf-8 -*-

#流程分析
import time
def timmer(func):
    def wrapper():
        start_time=time.time()
        func()
        stop_time=time.time()
        print('run time is %s' %(stop_time-start_time))
    return wrapper

@timmer #index=timmer(index)
def index():
    time.sleep(3)
    print('welcome to index')

index() #wrapper()

 

posted @ 2020-06-30 22:30  逆风飞翔的博客  阅读(50)  评论(0)    收藏  举报