对Python装饰器的个人理解

在看了公众号Python那些事对装饰器的解释后,有了一些自己的理解。

首先,装饰器的的返回值是接力棒。被当做参数的函数作为返回值返回到装饰器的内部函数,然后装饰器返回值是内部函数,即最终装饰器的返回值是当做参数的函数。

装饰器的作用:由于在装饰器内部定义了新函数并且装饰器并不会改变作为参数的函数,即就可以在内部函数中添加一些新功能(这一点可以详细看公众号),最终实现在不改变原函数的前提下,提升原函数的功能。

列子:

def square_it(func):
def new_function(*args,**kwargs):
result = func(*args,**kwargs)
square = result *result
print("原函数的值:%d" % result)
print("新增加的求平方的功能:%d" %square)
return new_function


@square_it
def add_ints(a,b):
c = a+b
return c


add_ints(3,5)


原函数的值:8
新增加的求平方的功能:64

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值