在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator) 本质上,decorator就是一个返回函数的高阶函数,它可以让函数在不变动任何代码的前提下增加额外功能。装饰器的返回值也是函数。它经常用于:插入日志,性能测试,事务处理,缓存,权限校验等场景。有了装饰器我们就可以抽离出大量与函 ...
分类:
编程语言 时间:
2017-03-08 15:32:38
阅读次数:
201
本文转载自:http://www.wklken.me/posts/2012/10/27/python-base-decorator.html 基本概念 具体概念自己google 装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理, Web权限校验, C ...
分类:
编程语言 时间:
2017-03-07 15:11:53
阅读次数:
154
1. 什么是装饰器? 顾名思义,装饰器就是在方法上方标一个带有@符号的方法名,以此来对被装饰的方法进行点缀改造。 当你明白什么是装饰器之后,自然会觉得这个名字取得恰如其分,但作为初学者来说多少还是会有些迷茫。下面用代码来说明怎么理解装饰器。 Python允许将方法当作参数传递,因此以上脚本就是将ta ...
分类:
编程语言 时间:
2017-03-07 12:52:43
阅读次数:
208
Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类 根据处理数据类型的不同分为:字符流和 ...
分类:
编程语言 时间:
2017-03-06 17:28:56
阅读次数:
167
一、递归函数 概念:递归算法是一种直接或者间接的调用自身算法的过程。在计算机编写程序中,递归算法对解决一大类问题是十分有效的。 特点: ①递归就是在过程或者函数里调用自身。 ②在使用递归策略时,必须有一个明确的递归条件,称为递归出口。 ③递归算法解题通常显得很简洁,但递归算法解题的效率较低。所以一般 ...
分类:
其他好文 时间:
2017-03-05 23:09:19
阅读次数:
281
一:生成器补充: 生成器只能遍历一次 二:装饰器: 函数嵌套 函数里面又定义另外函数——闭包:函数作用域 ...
分类:
编程语言 时间:
2017-03-01 22:57:11
阅读次数:
235
如果在函数f1上方使用了“@+装饰器函数名”(以上图为例),当在程序中调用f1()时,执行过程如下: 1》执行outer函数 2》将f1赋值给func 此时的func()相当于: print("F1") 3》将inner赋值给f1 4》执行inner函数,即为 print("before") pri ...
分类:
编程语言 时间:
2017-03-01 22:49:38
阅读次数:
296
0.C#设计模式--简单工厂模式 1.C#设计模式--工厂方法模式 2.C#设计模式--抽象工厂模式 3.C#设计模式--单例模式 4.C#设计模式--建造者模式 5.C#设计模式--原型模式 6.C#设计模式--设配器模式 7.C#设计模式--装饰器模式 8.C#设计模式--代理模式 9.C#设计 ...
python装饰器就是对已有函数的功能扩展. 简单装饰器 def w1(func): def inner(): print('%s is running' % func.__name__) return func() return inner @w1 def show(): print('show' ...
分类:
编程语言 时间:
2017-03-01 14:24:05
阅读次数:
153
装饰器在后面(异步io)威力强大 作用:在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。 本质上,decorator就是一个返回函数的高阶函数(传入将要装饰函数,返回函数体函数): def 函数名(参数是函数): 函数体 return 返回值是函数体函数 example: ...
分类:
编程语言 时间:
2017-02-25 12:24:57
阅读次数:
139