在 上篇 我们讲了python将函数做为返回值和闭包的概念,下面我们继续讲解函数做参数和装饰器,这个功能相当方便实用,可以极大地简化代码,就让我们go on吧! 能接受函数做参数的函数我们称之为高阶函数,例如filter, map, reduce这些函数 可以定义一个函数作为高阶函数例如: def ...
分类:
编程语言 时间:
2017-02-24 12:38:33
阅读次数:
233
阅读目录一什么是装饰器二装饰器需要遵循的原则三实现装饰器知识储备四高阶函数五函数嵌套六闭包七无参装饰器八装饰器应用示例一什么是装饰器器即函数装饰即修饰,意指为其他函数添加新功能装饰器定义:本质就是函数,功能是为其他函数添加新功能二装饰器需要遵循的原则1.不修..
分类:
其他好文 时间:
2017-02-23 14:34:32
阅读次数:
207
#工厂函数
deffactory(X):
defitem(Y):
print"X**Y:%s"%(X**Y)
returnX**Y
returnitem
defhead(W):
print"X+W:%s"%(X+W)
defmain():
f=factory(X=2)#实例化,相当于类了
i=f(2)
"""
工厂函数语法上是函数,实际上是类,当你调用的时候,实际上你得到该类型的实例
举例:工厂生..
分类:
编程语言 时间:
2017-02-17 21:58:44
阅读次数:
128
无参装饰器: 不修改原函数,加入装饰器,在原有基础上包装函数 res现在返回装饰器中的wrapper对象,但没有执行 res('w')这时传参数,并执行wrapper函数,到执行fun(*args,**kwargs),此时执行的是index(msg),最后完成整个函数体。 有参装饰器 有参装饰器就是 ...
分类:
编程语言 时间:
2017-02-17 19:13:33
阅读次数:
220
python2 存在内存里的 字符串就是bytes,bytes就是字符串, 需要先解码(decode),再编码(encode) python3 字符串 = unicode, bytes = py2 bytes, 不需要解码,自动转成unicode编码(没有decode方法) 如果需要转成别的格式,可 ...
分类:
其他好文 时间:
2017-02-17 13:00:25
阅读次数:
260
一.装饰器 1.什么是装饰器. 装饰器即函数 装饰即修饰,意指为其他函数添加新功能 装饰器定义:本质就是函数,功能是为其他函数添加新功能 2.装饰器需要遵循的原则. 1.不修改被装饰函数的源代码(开放封闭原则) 2.为被装饰函数添加新功能后,不修改被修饰函数的调用方式 3.装饰器的实现本质. 装饰器 ...
分类:
编程语言 时间:
2017-02-17 09:50:49
阅读次数:
266
意图:动态的将责任附加到对象上什么时候使用:1.在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责2.处理那些可以撤销的职责3.当不能采用生成子类的方式进行扩充时结构图: 项目经理A做需求分析 项目经理A做架构设计 项目经理A做详细设计 程序员加班写程序啊,写程序,终于写完了。。。 项目 ...
分类:
编程语言 时间:
2017-02-15 22:18:05
阅读次数:
276
最常见的五种创建型模式如下: 工厂方法模式 抽象工厂模式 单例模式 建造者模式 原型模式 结构型模式 结构型模式是通过定义一个简单的方法来实现和了解实体间关系,从而简化设计。 适配器模式 桥接模式 合成模式 装饰器模式 门面模式 代理模式 享元模式 行为型模式 行为型模式用来识别对象之间的常用交流模... ...
分类:
Web程序 时间:
2017-02-15 10:52:44
阅读次数:
302
装饰器是困扰我很久的问题,最近突然开窍,理解了装饰器的含义执行过程以及原理装饰器:(本质是函数,装饰其他函数,帮其他函数实现附加的功能)器:代表函数装饰:代表装饰这个函数原则:不能修改装饰的函数内部源代码不能修改原来函数的调用方式装饰器公式:高阶函数+嵌套函..
分类:
编程语言 时间:
2017-02-14 23:02:21
阅读次数:
186