问题: 定义了一个新函数 想在运行时动态增加功能 又不想改动函数本身的代码 通过高阶段函数返回一个新函数 装饰器 python内置的@语法就是为了简化装饰器 类似上述的方法2 装饰器的作用 可以极大的简化代码,避免每个函数编写重复性代码 打印日志:@log 检测性能:@performance 数据库 ...
分类:
编程语言 时间:
2017-05-17 00:53:52
阅读次数:
240
本篇内容:1.装饰器2.列表生成式与生成器3.可迭代对象与迭代器4.Python内建函数一、装饰器1.装饰器的介绍装饰器本质是函数,它是为其它函数添加附加功能(装饰其它函数)。装饰器遵循的原则有:●不能修改被装饰函数的源代码;●不能修改被装饰函数的调用方式;●不能修改被装..
分类:
编程语言 时间:
2017-05-15 22:32:31
阅读次数:
243
开始第二模块的学习: 装饰器 : 描述: 装饰器原则: 1、不能修改被装饰的函数的源代码 2、不能修改装饰的函数的调用方试 实现装饰器的需要: 高阶函数+嵌套函数=装饰器 高阶函数: 类型I:将函数做为实参的函数,可以称为高阶函数 类型II:返回值中包含函数名的函数,也可以称为高阶函数 嵌套函数: ...
分类:
编程语言 时间:
2017-05-14 01:05:39
阅读次数:
203
Python进阶强化训练之装饰器使用技巧进阶如何使用函数装饰器?实际案例某些时候我们想为多个函数,统一添加某种功能,比如记时统计、记录日志、缓存运算结果等等。我们不想在每个函数内一一添加完全相同的代码,有什么好的解决方案呢?解决方案定义装饰奇函数,用它来生成一个..
分类:
编程语言 时间:
2017-05-12 14:27:07
阅读次数:
271
函数也是对象要理解Python装饰器,首先要明白在Python中,函数也是一种对象,因此可以把定义函数时的函数名看作是函数对象的一个引用。既然是引用,因此可以将函数赋值给一个变量,也可以把函数作为一个参数传递或返回。同时,函数体中也可以再定义函数。装饰器本质可以通过编..
分类:
编程语言 时间:
2017-05-12 13:32:29
阅读次数:
165
Python高阶函数:1.把一个函数名作为实参传递给另一个函数(在不修改被装饰函数源代码的情况下为其添加功能)2.返回值中包含函数名(不修改函数的调用方式)deftest1():
print("inthetest1")
deftest2(func):#接收函数名
func()
print("inthetest2")
returnfunc#返回函数内存..
分类:
编程语言 时间:
2017-05-11 14:37:44
阅读次数:
151
装饰器、生成器、迭代器、及python中内置函数的使用一、装饰器1、装饰器的概述(1)概述:装饰器本质就是函数,主要用来装饰其他函数,为其他函数添加附加功能。(2)使用装饰器的原则1)不能修改被装饰的函数的源代码2)不能修改被装饰的函数的调用方式(3)装饰器原理:函数..
分类:
编程语言 时间:
2017-04-23 21:14:05
阅读次数:
245
1、装饰器:‘‘‘
实现装饰器只是储备:
1、函数即“变量”
2、高阶函数
3、嵌套函数
高阶函数+嵌套函数=》装饰器
‘‘‘
importtime
deftimmer(func):
defwarpper(*args,**kwargs):
start_time=time.time()
func()
stop_time=time.time()
print("thefuncruntimeis%s"%(stop_time-s..
分类:
编程语言 时间:
2017-04-20 12:18:44
阅读次数:
210
学习装饰器前提需要了解高阶函数,函数嵌套,函数闭包 python函数装饰器,顾名思义就是装饰函数,为函数添加新功能的的一种方式。 为什么要使用装饰器呢? 因为函数在运行时,如果不使用装饰器对函数进行功能添加,需要修改函数源代码,这样修改无疑会增加程序的冗余和复杂性,也不便于程序员对其进行修改。使用装 ...
分类:
编程语言 时间:
2017-04-19 00:31:08
阅读次数:
232
1 为什么要用装饰器 开放封闭原则 :游戏上线后,尽量避免更改源代码和调用方式,但是出于需求必须为代码增加扩展性2 什么是装饰器: 本质是一种函数 ,没有改动函数源代码和调用方式的情况下,给函数增加一种新的功能 利用了闭包的原理,闭包的作用就是可以在外部调用这个内部闭包函数,不用关心作用域的问题3 ...
分类:
其他好文 时间:
2017-04-15 18:21:39
阅读次数:
131