装饰器01

Posted ArtisticMonk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了装饰器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()

 

以上是关于装饰器01的主要内容,如果未能解决你的问题,请参考以下文章

Python面向对象学习之八,装饰器

装饰器01

python_20_装饰器_高阶函数的使用_01

Python-20_装饰器-01_基础高阶函数闭包

TypeScript装饰器

Python装饰器简介