【python装饰器】函数装饰器@的使用


import time

# 计算函数运行时长,将要计算运行时长的函数作为参数传入,返回运行的值
def countTime(func):
    print("进入countTime函数")
    #我们的wrapper函数的参数为*args和**kwargs,表示可以接受任意参数
    def wrap(*args,**kwargs):
        print("进入wrap函数")
        print("")
        t1 = time.time()
        #运行函数func
        print("进入func函数")
        func(*args,**kwargs)
        print("func函数运行结束")
        print("执行时长为:",time.time()-t1)

    '''
    返回值必须是和定义的函数名一致,但是不带()。区别在于:
    带():表示将运行的结果返回,即先运行再返回
    不带():表示将整个函数作为一个对象返回
    '''
    return wrap

#在定义函数前一行使用修饰器,表示下一行函数作为参数传入到修饰器中,当每次运行add()的时候都会将add函数对象作为参数输入到countTime中进行运行
#装饰器和函数运行顺序,先将被修饰函数作为参数传给装饰器第一层,再将函数的参数传给装饰器第二层函数
@countTime
def add(a,b):
    print(a+b)

if __name__ == '__main__':
    add(1,2)

参考文档:【Python】一文弄懂python装饰器(附源码例子)_python 装饰器-CSDN博客

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有情怀的机械男

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值