装饰器01

##没有参数版的装饰器
##装饰器是在不动用原来的功能源代码加上一个功能,也不能调用原来的函数
#首先要引入需要的功能板块
import time
第三部也就是实现了新的功能:
def timer(timerr):
    def code()##第四步
        ##开始定时:sta_timer = time.time()
         sta_timer = time.time()
        ##然后函数的调用
        timerr()
         ##结束定时:sta_Timer = time.time()
        sta_Timer = time.time()
        ##然后打印
        print("ttimer2 zai zhe li:%s"%(sta_timer-sta_Timer))
    return code
##然后想要加入定时器新的功能的话需要在原来的的功能上加上定时器的函数time.sleep(3)完成了第二步:
##第⑤步:在需要加这个功能的函数上面加上装饰器的名字@timer
@timer##这一步就等于text1 = timer(text1)
##原本有的功能,第一步:
def text1():
    time.sleep(3)
    print("text1")

text1()
###如果需要参数的话
#装饰器
import time
def timer(func):
    def code(*args,**kwargs):
        timer_timer = time.time()
        func(*args,**kwargs)
        timeR_timer = time.time()
        print("jia shang le ding shi qi:%s"%(timer_timer-timeR_timer))
    return code
@timer
def text1():
    time.sleep(3)
    print("the is text1")
@timer
def text2(*args,**kwargs):
    time.sleep(3)
    print("the is text2")

text1()
text2()

猜你喜欢

转载自www.cnblogs.com/ArtisticMonk/p/8931106.html