python 学习之路(装饰器)
来源:互联网 发布:apache 目录别名 编辑:程序博客网 时间:2024/06/05 16:14
python 学习之路(装饰器)
装饰器其实也是函数,即装饰其他的函数
原则:
1. 不能修改被装饰的函数的源代码
2. 不能修改被装饰的函数的调用方式
先感受一下装饰器
import timedef b(func): def c(*args , **kwargs): start_time = time.time() func(*args,**kwargs) end_time = time.time() print('this is time is %s' %(end_time-start_time)) return c@b # 装饰器想给哪个函数用,就在这个函数上直接写@+装饰器函数的名字def a (): print('start') time.sleep(2) print('end.')a()# 打印:# start# end.# this is time is 2.001328468322754
可以看出上方的b函数里面嵌套一个c函数
扫盲:
1. 高阶函数:就是参数为函数;
2. 嵌套函数:就是函数里面在定义一个函数;
3. 装饰函数:就是 高阶函数+嵌套函数
看上去很简单,但是还是需要多加练习
import time# 装饰器def b(func): def c(*args , **kwargs): # 传递参数,有则传,没有就不传 start_time = time.time() func_1 = func(*args,**kwargs) # 有就接收,没有就不接收 end_time = time.time() print('this is time is %s' %(end_time-start_time)) return func_1 # 将函数返回 return c@bdef a (): print('start a') time.sleep(2) print('end a') return '我就是我,不一样的烟火'@bdef a1(name): print(name) print('end a1')print(a())a1("dd")
打印:
start a
end a
this is time is 2.000760316848755
我就是我,不一样的烟火
dd
end a1
this is time is 0.0
阅读全文
0 0
- python 学习之路(装饰器)
- python学习之装饰器
- Python学习之装饰器
- python学习之装饰器
- Python之装饰器学习
- Python 学习笔记之装饰器
- Python学习日志之二-----装饰器
- 六、PYTHON 学习之装饰器使用
- python之装饰器的学习
- Python装饰器学习
- Python装饰器学习
- Python装饰器学习
- Python装饰器学习
- python 装饰器学习
- Python装饰器学习
- python 装饰器学习
- Python装饰器学习
- Python装饰器学习
- JAVA发展历史
- Python 第三步
- Oracle基础-实训函数练习
- python wordcloud 词云
- [大数据基础-linux基础]Centos6.*静态配置IP地址问题
- python 学习之路(装饰器)
- ARM开发板如何安装Linux系统
- 个人总结66
- Mac 终端颜值提升利器之Oh My Zsh
- 【JZOJ 5495】【清华集训2017模拟12.09】MiniumCut(最小割树)
- 线程同步的方法
- [资料整理]场景文字检测资料
- 字节码看HelloWorld
- Code Control MVC框架-发消息