装饰器
什么是装饰器
- 也是一种函数
- 可以接受函数作为参数
- 可以返回函数
- 接收一个函数,内部对其处理,然后返回一个新函数,动态的增强函数功能
- 将
c函数在a函数中执行,在a函数中可以选择执行或不执行c函数,也可以对c函数的结果进行二次加工处理
装饰器的定义
| def out(func_args): 外围函数 | |
| def inter(*args, **kwargs): 内嵌函数 | |
| reture func_args(*args, **kwargs) | |
| return inter 外围函数返回内嵌函数 |
装饰器的用法
将
被调用的函数直接作为参数传入装饰器的外围函数括弧将装饰器与被调用函数绑定在一起
@符号 + 装饰器函数放在被调用函数的上一行 ,被调用的函数正常定义 ,只需要直接调用被执行函数即可
代码
| # coding:utf-8 | |
| def check_str(func): | |
| print('func:', func) | |
| def inner(*args, **kwargs): | |
| print('args:', args, kwargs) | |
| result = func(*args, **kwargs) | |
| if result == 'ok': | |
| return 'result is %s' % result | |
| else: | |
| return 'result is failed:%s' % result | |
| return inner | |
| def test(data): | |
| return data | |
| result = test(data='no') | |
| print(result) | |
| result = test('ok') | |
| print(result) | |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZkeqのCoding日志!
评论






