Python 装饰器实现样例
2017-09-12 21:21
295 查看
# coding:utf-8 ''' 装饰器实现 闭包的应用 装饰器和被装饰函数都有参数时, 一:需要三层的嵌套 第一层传装饰器参数、第二层嵌套传函数、第三层传被装饰函数的参数 二:三层返回 最里层返回func(*args)拿到参数,外层返回最里层函数,最外层返回次外层 ''' def dec(isnot = False): print 'call dec' if isnot: def _dec(func): print 'in _dec %s', str(func) def in_dec(*args): print 'in dec args=',args if len(args) == 0: return 0 for val in args: if not isinstance(val, int): return 0 return func(*args) return in_dec else: def _dec(func): print 'in else _dec' return func return _dec @dec(False) def my_sum(*args): print 'in my_sum' return sum(args)/len(args) print my_sum(1,2,3,4,5,6,7,8,9,10) 输出: call dec in else _dec in my_sum 5 [Finished in 0.1s]
相关文章推荐
- Python中使用装饰器和元编程实现结构体类实例
- 装饰器应用,Python模块学习之(__call__)实现准确计算函数运行时间
- Python单元测试_使用装饰器实现测试跳过和预期故障的方法
- 【Python】装饰器实现日志记录
- python实现单粒模式,模块方法/装饰器方法/__new__方法
- 通过 Python 装饰器实现DRY(不重复代码)原则
- 《Python - 实现一个简单的装饰器》--- 输出程序运行时间
- python用装饰器实现缓存函数执行结果
- python 多个装饰器组合应用,实现面向切面之AOP编程
- python 装饰器(实现dataprovider)
- python用装饰器实现缓存函数执行结果
- Python 装饰器实现DRY(不重复代码)原则
- python 装饰器实现
- 推荐算法的Python实现(样例代码)
- python重试装饰器的简单实现
- 通过 Python 装饰器实现DRY(不重复代码)原
- $python用装饰器实现一个计时器
- KNN 算法的python实现 迭代训练方式,将最近的测试样例作为训练样例扩大训练集
- 百度语音识别API的使用样例(python实现)
- 装饰器实现Python web框架路由功能