python 装饰器

给你一囗甜甜゛ 提交于 2019-12-22 15:12:52

装饰器的原理类似于以下函数

import time
def func():
    time.sleep(0.1)
    print('hello')

def timer(f):
    def inner():
        start=time.time()
        f()  #被装饰的函数
        end=time.time()
        print(end-start)
    return inner

func=timer(func)# time(func)得到的是inner
func()

 以下的代码就是装饰器

def timer(f):
    def inner():
        start=time.time()
        f()
        end=time.time()
        print(end-start)
    return inner

@timer  #这里相当于func=time(func)
def func():
    time.sleep(0.1)
    print('hello')


func()

装饰器的作用:不想改变函数的调用方式      但是还是想在原来的函数上添加功能

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!