初识装饰器(decorator ) Python的 decorator 本质上就是一个高阶函数,它接收一个函数作为参数,然后,返回一个新函数。 使用 decorator 用Python提供的 @ 语法,这样可以避免手动编写 f = decorate(f) 这样的代码。 先看一个例子: 输出结果: 这 ...
分类:
编程语言 时间:
2016-08-07 13:48:14
阅读次数:
226
Io流里面的过滤流和节点流用的就是装饰者模式。整个的IO体系就是装饰模式。 这个写法就是装饰者模式。对上面的三个已经存在的类(DataOutputStream,BufferedOutputStream,FileOutputStream)进行组合,具有三种功能。 对于DataOutputStream ...
分类:
编程语言 时间:
2016-08-05 23:08:53
阅读次数:
483
一、本次实验环境:在腾讯云虚拟主机centos7上配置pyenv多版本python管理器,并安装交互式web编辑器jupyter,python版本为3.5.2。二、装饰器:装饰器的本质是一个函数,接收一个函数作为参数,并且返回一个函数
带参数的装饰器是一个函数,返回一个装饰器
带参数的装饰器最多允..
分类:
编程语言 时间:
2016-08-05 21:42:04
阅读次数:
259
1、装饰者模式与代理模式 (静态代理) 在日常开发里面,我们经常需要给某个类的方法增加加某些特定的功能。 例如:有婴儿,婴儿会吃饭和走动,如以下类 1 package com.scl.designpattern.proxy; 2 3 //婴儿类 4 public class Child implem ...
分类:
其他好文 时间:
2016-08-05 19:23:36
阅读次数:
189
# coding=utf-8 from time import time def logged(when): def log(f,*args,**kargs): print("called: function:%s,args:%r,kargs:%r"%(f,args,kargs)) def pre_ ...
分类:
编程语言 时间:
2016-08-05 17:35:44
阅读次数:
263
迭代器iteration 是访问集合元素的一种方式,只能往前不能往后迭代器的特点:1,访问者不需要关注迭代器内部结构,只需通过next()不断取下一个内容2,访问不能回退3,循环较大数据集合时,省内存4,不能随机访问集合中的某一个值 iter()生成迭代器__next__()访问迭代器,可以迭代生成 ...
分类:
编程语言 时间:
2016-08-05 16:00:29
阅读次数:
177
DataInputStream这个类是二进制读写的。并且 是过滤流,会一层套一层的。这里就是装饰者模式。 结果是:3 12 a 案例如下: ...
分类:
编程语言 时间:
2016-08-05 15:53:55
阅读次数:
178
装饰器: def wrapper(func): if login('kk'): return func def login(user): if user == 'kk': return True else: print "invalid username" def readirct(url): pa ...
分类:
编程语言 时间:
2016-08-05 15:24:46
阅读次数:
129
装饰者模式:动态地给一个对象添加一些额外的职责,就增加功能来说,Decorator模式比生成子类更为灵活。 Decorator模式的工作原理是:可以创建始于Decorator对象(负责新的功能的对象)终于原对象的一个对象“链”。 图1装饰者链 装饰者模式隐含的是通过一条条装饰链去实现具体对象,每一条 ...
分类:
其他好文 时间:
2016-08-05 00:33:19
阅读次数:
376