python 基础篇 12 装饰器进阶

Posted 年轻a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 基础篇 12 装饰器进阶相关的知识,希望对你有一定的参考价值。

本节主要内容:
1. 通⽤装饰器回顾
2. 函数的有⽤信息
3. 带参数的装饰器
4. 多个装饰器同时装饰⼀个函数

. 通⽤装饰器的回顾
开闭原则: 对增加功能开放. 对修改代码封闭
装饰器的作⽤: 在不改变原有代码的基础上给⼀个函数增加功能
通⽤装饰器的写法:

执行过程:

其实执行  target_func()就是执行inner函数.  inner函数会先执行目标函数之前的代码,然后执行目标函数,之后再执行目标函数之后的代码.

如何获取函数的有用信息:

函数名.__name__可以查看函数名字

函数名.__doc__可以查看函数文档注释

 

虽然调用的是target_func函数,但是打印出来的却是inner函数,这个难免会给我误解,所以我们要改回去

 

PS: *args**kwargs什么时候打散, 什么时候聚合
1. 接收参数的时候是聚合, 参数声明
2. 传递参数的时候是打散, 给函数传递实参

 

三--装饰器传参

执行顺序:  先执行wrapper_out(False),  返回值是wrapper,然后再@wrapper   还是和之前的装饰器一样,一次执行.

 

 . 多个装饰器装饰同⼀个函数
先读⼀下这样⼀个代码.

 

这个顺序可以自己捋捋      先执行装饰器1,  然后执行装饰器2

 

以上是关于python 基础篇 12 装饰器进阶的主要内容,如果未能解决你的问题,请参考以下文章

Python进阶第九篇装饰器

由浅入深,走进Python装饰器-----第二篇:进阶--函数装饰函数

python装饰器2:进阶

python全栈闯关--12-装饰器进阶

进阶Python:装饰器 全面详解

python基础篇:什么是装饰器?装饰器有什么用?