装饰器 装饰函数,扩展功能 装饰器作用 1.不修改函数的调用方式 2.给原来的函数添加新的功能 开发封闭原则 1.开发:对扩展开发 2.封闭:对修改封闭 示例 例1:计算代码运行时间 例2:计算函数运行时间 语法糖 例3:带参数的装饰器 1.在装饰器外面再加一层函数 2.利用局部调用全局变量 3.不 ...
分类:
编程语言 时间:
2019-08-10 17:39:04
阅读次数:
102
1.什么是装饰器 装饰器(Decorators)是 Python 的一个重要部分。装饰器本质是函数(具有特定功能的函数),装饰器的功能就是装饰其他函数,也就是为其他函数添加一些附属功能。 2.装饰器原则 a.不能修改被装饰函数的源代码。 b.不能修改被装饰函数的调用方式。(装饰器对于被装饰函数来说是 ...
分类:
编程语言 时间:
2019-07-19 20:57:14
阅读次数:
89
1.开发封闭原则 软件面世时,不可能把所有的功能都设计好,当前的未来一两年功能给你上线,定期更新迭代。对于软件之前的写的源代码一般都不会修改,对函数里面的代码以及函数的调用方式。 开放原则:在源码不改变的情况下,增加一些额外的功能。 封闭原则:不要改变源码 python中装饰器:完美的诠释了的开放封 ...
分类:
其他好文 时间:
2019-07-02 21:19:47
阅读次数:
123
装饰器:本身就是个函数,用来给其他函数增加附加的功能def log(): pass def function(): pass log() def funciton2(): pass log() # 函数的调用装饰器原则:1.不能修改被装饰的函数的源代码2.不能修改被装饰的函数的调用方式3.装饰器对被 ...
分类:
编程语言 时间:
2019-06-26 13:43:38
阅读次数:
113
与其他语言相比,函数this在 JavaScript 中的表现略有不同,此外,在严格模式和非严格模式之间也会有一些差别.在绝大多数情况下,函数的调用方式决定了this的值。this不能在执行期间被赋值,并且在每次函数被调用时this的值也可能会不同。ES5引入了bind方法来设置函数的this值,而 ...
分类:
Web程序 时间:
2019-05-20 17:30:04
阅读次数:
148
一、函数的调用方式决定了 this 的指向不同,但总的原则,this指的是调用函数的那个对象: 1.普通函数调用,此时 this 指向 全局对象window 2.在严格模式下"use strict",为undefined. 3.对象的方法里调用,this指向调用该方法的对象 4.构造函数调用, 此时 ...
分类:
其他好文 时间:
2019-04-28 17:08:15
阅读次数:
220
__cdecl、__stdcall、__fastcall是C/C++里中经常见到的三种函数调用方式。其中__cdecl是C/C++默认的调用方式,__stdcall是windows API函数的调用方式,只不过我们在头文件里查看这些API的声明的时候是用了WINAPI的宏进行代替了,而这个宏其实就是 ...
分类:
其他好文 时间:
2019-04-09 00:23:48
阅读次数:
166
一、装饰器 1. 装饰器本质是函数 2. 为其他函数添加附加功能 3. 不修改被修饰函数的源代码 4. 不修改被修饰函数的调用方式 装饰器示例 装饰器示例2 修饰带返回值的函数 修饰带参数的函数 认证登录装饰器示例 模拟记录session 带参数的装饰器 二、高阶函数 1. 函数接受的参数是一个函数 ...
分类:
其他好文 时间:
2019-04-05 00:21:21
阅读次数:
148
一、装饰器的本质是函数: 要求: 1.不能修改被装饰函数的源代码 2.不能修改被装饰函数的调用方式 3.装饰函数对于被装饰函数透明(即不调用时,感觉不到其存在) 实现方式: 应用场景(举例):插入日志、性能测试、事务处理、缓存、权限验证等场景 二、装饰器实例: 不带参数的装饰器: 装饰器执行顺序: ...
分类:
编程语言 时间:
2019-03-26 13:29:44
阅读次数:
189
Python装饰器1. 定义本质是函数,用来装饰其他函数,为其他函数添加附加功能2. 原则a. 不能修改被装饰函数的源代码b. 不能修改被装饰的函数的调用方式3. 实现装饰器知识储备a. 函数就是变量b. 高阶函数 i. 把一个函数当作实参传给另外一个函数,在不修改被装饰函数源代码情况下为其添加功能 ...
分类:
编程语言 时间:
2019-03-24 23:16:37
阅读次数:
171