Effective Python:(22)函数修饰器

今天我们来讲讲函数的一个好用用法,叫函数修饰器Decorator,函数修饰器是Python特殊的写法,用来修饰函数,实现在函数运行之前,和函数运行结束后,执行某些我们编写的代码,就类似于在函数外面套个壳,这种写法对于像日志功能这种特别有用,在开发时。非常常用的是在函数前后加上日志打印相应的参数或变量结果的值,用来调试程序逻辑的正确性,这种情况用修饰器声明函数就非常方便了。

修饰器这么来用,比如我们可以先定义一个名叫wrapper的修饰器的方法,方法代码内部包裹的函数的调用,并在其前后加上了处理和打印代码。然后在要用的时候用@符号加上修饰器写在函数定义前面就可以了。

这虽然方便多了,但是也需要注意一个问题,就是调用用修饰器修饰的函数时,函数外层打印出来无法反映函数内部的对变量的改变,为了解决这个问题,我们可以用funtools下面的wraps辅助函数来实现,wraps叫做修饰器的修饰器,其特性就是把内部数据拿到外部来用,这就解决了这个问题。

函数的用法和技巧就介绍这么多,下面条目开始关于推导和生成的用法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值