Python学习笔记——闭包,装饰器
来源:互联网 发布:网络摄像头的ip地址 编辑:程序博客网 时间:2024/05/22 17:01
Pyhton学习笔记——闭包,装饰器
本文为自己学习笔记,如有错误,欢迎指正,共同学习,一起进步
闭包:
闭包其实就是返回一个函数
例如一个求x*x的函数:
def qiushu(x): def fun(): return x*x return funf=qiushu(2)print(f())
上面的代码,qiushu函数返回的是fun函数,这样的话,计算的步骤,是不会执行的,得调用了才执行,上面代码将返回的函数给了f,调用了f()才会计算x*x
返回的函数可以引用外部函数的变量,比如上述代码引用了变量x,并且返回的函数不会立即执行,所以,如果引用的变量如果改变了,那么返回函数的结果也会改变,这点需要注意
装饰器:
装饰器其实就是接收一个函数,然后在执行函数之前或者之后执行一些代码
例如
import functoolsdef log(func): def decorater(): print("%s begin"%func.__name__) return func() return decorater@logdef now(): print("2016-8-15")now()
这个函数可以在执行now之前打印“函数名 begin”
执行过程类似于——>log(now())
关于装饰器,刚开始我也不怎么懂,后来我发现只要关注返回值就行了
比如log函数返回了decorater函数,decorater函数返回了func,而func函数就是我们的now函数
所以在写装饰器的时候,我一般先会把返回值写出来
0 0
- Python学习笔记——闭包,装饰器
- python进阶学习笔记(二)——闭包、装饰器、偏函数
- Python 学习笔记 ——装饰器
- Python学习笔记——装饰器
- 装饰器学习笔记2:闭包
- python 学习笔记——python 装饰器(一)
- python 学习笔记——python 装饰器(二)
- 【Python】学习笔记——-5.4、装饰器
- <29>python学习笔记——装饰器
- Python——闭包和装饰器
- Python装饰器学习笔记
- Python学习笔记:装饰器
- python装饰器学习笔记
- Python学习笔记--装饰器
- Python装饰器学习笔记
- Python学习笔记-装饰器
- Python 装饰器 学习笔记
- "Python"学习笔记----装饰器
- Day12、预处理指令、宏定义、条件编译、多文件编程
- JVM总结--JVM体系结构
- Codeforces Round #366 (Div. 1) B. Ant Man (贪心)
- nyoj 311完全背包(背包)
- java 中的排序算法-----冒泡排序
- Python学习笔记——闭包,装饰器
- MySQL数据库事务略知一二
- Java版本的Selenium运行时出现错误(java.lang.NoClassDefFoundError: com/google/common/base/Function)
- HDU 5784 How Many Triangles
- 逆序对的个数
- HDU 1520(树形dp)
- oracle 安装问题
- Day13、结构体类型、结构体与指针和函数的联合调用
- uc iii的一些领悟