闭包: 首先说下闭包是什么? 闭包就是在函数内部定义的函数,包含对外部作用域的引用,但不包含全局作用域。因为函数的作用域在定义的时候就固定死了,所以闭包函数有自带作用域和延迟计算的特点。 闭包函数定义:如果一个内部函数,包含了对外部作用域的引用,但是不是包含全局作用域。那么这个函数就被认为是闭包函数 ...
分类:
编程语言 时间:
2017-06-14 18:15:49
阅读次数:
249
补充:全局变量声明及局部变量引用 python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量 global关键字用来在函数或其他局部作用域中使用全局变量,声明后可以在其他作用于中修改和使用 global声明的变量在任何作用域都能够修改,所以一般 ...
分类:
编程语言 时间:
2017-06-14 18:08:45
阅读次数:
300
在类中定义函数如果 不加装饰器 则默认 为对象作为绑定方法 如果增加 classmethod 是 以 类 作为绑定方法 增加 classmethod 是 非绑定方法,就是不将函数 绑定 ##################### ######################## 绑定方法与 非绑定方 ...
分类:
编程语言 时间:
2017-06-14 16:29:05
阅读次数:
162
在类中定义函数如果 不加装饰器 则默认 为对象作为绑定方法 如果增加 classmethod 是 以 类 作为绑定方法 增加 classmethod 是 非绑定方法,就是不将函数 绑定 ##################### ######################## 绑定方法与 非绑定方 ...
分类:
编程语言 时间:
2017-06-14 16:18:52
阅读次数:
168
在类中定义函数如果 不加装饰器 则默认 为对象作为绑定方法 如果增加 classmethod 是 以 类 作为绑定方法 增加 classmethod 是 非绑定方法,就是不将函数 绑定 ##################### ######################## 绑定方法与 非绑定方 ...
分类:
编程语言 时间:
2017-06-14 16:12:39
阅读次数:
220
模板是这样的 beforetestafter[Finished in 0.1s] ...
分类:
编程语言 时间:
2017-06-14 13:17:11
阅读次数:
175
1.装饰器的原理 函数嵌套+高阶函数 作用:在不影响原有的调用方式,入参的情况下,添加新功能 2.举例子 3. #上面这个函数其实就是返回了一个函数名而已#1、调用timer函数的时候,要传入一个方法名,# timer函数在函数内部定义了一个函数叫做deco#又在函数deco内部调用了timer里面 ...
分类:
其他好文 时间:
2017-06-13 11:23:28
阅读次数:
126
装饰器前奏1 定义:本质是函数,用来装饰其它函数,就是为其他函数来添加附加功能 原则:1、不能修改被修饰函数的源代码以及调用方式 装饰器前奏2 实现装饰器只是储备: 1、函数即”变量“ 2、高阶函数 3、嵌套函数 高阶函数+嵌套函数=》装饰器 装饰器前奏3 装饰器前奏4 ...
分类:
编程语言 时间:
2017-06-13 10:12:53
阅读次数:
176
#函数的作用域是就近原则def warpper(): name = 'cici' print('i am out of box %s'%name) def deco(): name = 'lily' print('i am in box %s'%name) def hhh(): print('xxx ...
分类:
其他好文 时间:
2017-06-11 18:18:03
阅读次数:
127
首先是不使用装饰器的情况,又需要在不修改原函数的情况话修改函数结果 在不使用装饰器的情况下,虽然结果一样,但是调用者需要修改调用方式,如果该函数是提供给很多人使用的,则很不方便 接下来是使用装饰器的方法 结果相同,但是函数调用者不需要修改调用方式 函数带有参数的情况 但是如果该装饰器需要装饰多个函数 ...
分类:
编程语言 时间:
2017-06-11 12:54:54
阅读次数:
224