python装饰器快速入门

全栈工程师开发手册 (作者:陈玓玏)
python教程全解

学python过程中,常会看到一类用法,就是在函数前面加个@***,类似以下:

@log
def convert(a):
      return str(a)

很多的python库也有这个用法,比如Ray,比如pysnooper,都只需要引入这个python库,然后在需要进行并行加速或跟踪执行的函数前面加上@pysnooper.snoop之类的就可以。

那么我们自然会想到三个问题:1. 这种用法学名是什么?2. 这种用法有什么好处?3. 我们平时自己可以怎么用?

这种用法,在python中称为装饰器,decorator,它最大的好处就是可以让我们在基本不改动现有代码的情况下,附加一些功能,而它实现这个目的的方式,就是在将函数作为参数传递给另一个函数,在这个接受函数为入参的函数中,我们可以对入参函数进行一系列代码操作,同时调用此函数,从而实现源代码不改动的情况下,只加一行装饰器代码即可

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付 29.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值