黑猴子的家:python 装饰器实现的迭代过程

code 高阶函数 迭代装饰器一

def deco(func):
    start_time = time.time()
    func()
    stop_time = time.time()
    print("the func run time is %s" %(stop_time - start_time))

def deco1(func):
    star_time = time.time()
    return func
    stop_time = time.time()
    print("the func run time is %s" %(stop_time - start_time))

def t1():
    time.sleep(3)
    print("in the t1")

def t2():
    time.sleep(3)
    print("in the t2")

def t3():
    time.sleep(3)
    print("in the t3")

#虽然添加了功能,但是修改调用方式
deco(t1)

#第一种方式的高阶函数
t1 = deco(t1)
print(t1)

# 没有修改调用方式,但是也没有添加功能
t2 = deco1(t2)
print(t2)

打印

in the t1
the func run time is 3.0
in the t1
the func run time is 3.0
None
<function t2 at 0x00000000029557B8>

code -> 高阶函数 + 嵌套函数 => 装饰器方式一

def timer(funct):
    def deco():
        start_time = time.time()
        funct()
        stop_time = time.time()
        print("the func run time is %s" % (stop_time - start_time))
    return deco

t3 = timer(t3)
t3()

打印

in the t3
the func run time is 3.0

code -> 高阶函数 + 嵌套函数 => 装饰器方式二

def timer(funct):
    def deco():
        start_time = time.time()
        funct()
        stop_time = time.time()
        print("the func run time is %s" % (stop_time - start_time))
    return deco

@timer  #t4 = timer(t4)
def t4():
    time.sleep(1)
    print("in the t4")

t4()

打印

in the t4
the func run time is 1.0

code -> 高阶函数 + 嵌套函数 => 装饰器方式三

def timer(funct):
    def deco(*args,**kwargs):
        start_time = time.time()
        funct(*args,**kwargs)
        stop_time = time.time()
        print("the func run time is %s" % (stop_time - start_time))
    return deco

@timer  #t5 = timer(t5)
def t5(name):
    time.sleep(1)
    print("in the t5 %s "%name)

t5('hei hou zi')

打印

in the t5 hei hou zi 
the func run time is 1.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值