史上最精简版装饰器

装饰器

一:什么是装饰器?

装饰器就是装饰函数的函数,为函数添加功能的容器

二:为什么要有装饰器?

引入装饰器的原因主要是为了在不修改原有函数代码的情况下,增加额外功能

三:如何使用装饰器

# 无参数装饰器模板
def wrapper(func):
	def inner(*args,**kwargs):
        res = func(*args,**kwargs)
        reunrn res
    retun inner

示列
#  写一个程序运行,计算程序快慢
import time
def timer(func):
    def wrapper(*args,**kwargs):
        start_t = time.time()
        res = func(*args,**kwargs)
        end_t = time.time()
        pritn("这个程序运行时间:{}".format(end_t-start_t))
        return res
    return wrapper

def foo():
    print(1)
    time.sleep(2)

foo=timer(foo)
foo()

@timer   # bar = timer(bar)
def bar(a,b):
    print(a,b)
    return a,b

bar(1,3)

猜你喜欢

转载自www.cnblogs.com/wait59/p/13160360.html