'''修饰器本质是函数定义:修饰器是给函数补充某些功能,且不影响原函数的函数。 ps:应用在已上线的程序中的改动功能必须用到。 拿下一行的函数名作为赋给高阶函数(就是这个函数名)变量,运行一下高阶函数,然后把返回的结果返回下一行的函数名 原则:1.不改变被调用函数的调用方式;2.不改变被调用函数的内 ...
分类:
编程语言 时间:
2020-04-16 22:18:08
阅读次数:
93
1. 装饰器定义 不能修改被装饰函数的源代码,不能修改被装饰函数的调用方式,为其他函数添加其他功能 2. 使用高阶函数模拟装饰器 #! /usr/bin/env python # -*- coding: utf-8 -*- import time def timer(func): start_tim ...
分类:
其他好文 时间:
2020-04-09 09:11:25
阅读次数:
69
装饰器 装饰器:本质就是函数,功能是为其他函数添加附加功能 原则: 1、不修改被修饰函数的源代码 2、不修改被修饰函数的调用方式 统计程序运行的时间(不使用装饰器): 这种方法修改了源代码,不能用于已经上线的程序 1 import time 2 def calc(l): 3 res = 0 4 st ...
分类:
编程语言 时间:
2020-03-03 01:09:13
阅读次数:
105
1、装饰器:(1)本质:装饰器的本质是函数,其基本语法都是用关键字def去定义的。(2)功能:装饰其他函数,即:为其他函数添加附加功能。(3)原则:不能修改被装饰的函数的源代码,不能修改被装饰的函数的调用方式。即:装饰器对待被修饰的函数是完全透明的。(4)简单应用:统计函数运行时间的装饰器 impo ...
分类:
其他好文 时间:
2020-02-18 09:29:24
阅读次数:
58
装饰器的原则 1)不修改被修饰函数的源代码; 2)不修改被修饰函数的调用方式; 装饰器的知识点 = 高阶函数 + 函数嵌套 + 闭包 1. 只用高阶函数写装饰器 >有瑕疵 import time def foo(): print('this is foo') # return foo def tim ...
分类:
编程语言 时间:
2020-02-13 12:31:26
阅读次数:
65
#装饰器:本质就是函数,为其他函数附加功能原则:1、不修改被修饰函数的源代码2、不修改被修饰函数的调用方式装饰器=高阶函数+函数嵌套+闭包 #高阶函数 ''' 高阶函数定义: 1、函数接受的参数是一个函数名 2、函数的返回值是一个函数名 3、满足上述条件任意一个,都可称之为高阶函数 ''' # 函数 ...
分类:
编程语言 时间:
2020-01-29 16:10:36
阅读次数:
102
在ES6之前,函数内部的this是由函数的调用方式决定的 函数调用 var age = 18; var p ={ age : 15, say : function(){ console.log(this.age) } } var f1 = p.say; f1(); 这时是函数调用(是由window调 ...
分类:
编程语言 时间:
2020-01-16 22:11:02
阅读次数:
87
python第十三天 1. 今日内容 1. 开放封闭原则: 2. 装饰器的初识: 版本一: 大壮 写一些代码测试一下index函数的执行效率。 版本二:利用函数,解决代码重复使用的问题 版本三:不能改变原函数的调用方式。 版本四:具体研究 版本五:python做了一个优化;提出了一个语法糖的概念。 ...
分类:
编程语言 时间:
2020-01-08 20:59:22
阅读次数:
73
static member function不能:1.直接存取nonstatic数据;2.它不能被声明为const 一、Member的各种调用方式 1.1Nonstatic member function(非静态成员函数)的调用方式 编译器会将member 函数实例转换为对等的”nonmember函 ...
分类:
其他好文 时间:
2020-01-05 20:24:14
阅读次数:
67
定义:本质是函数,(装饰其他函数)就是为其他函数添加功能 原则:1,不能修改被装饰的函数的源代码。 2,不能修改被装饰的函数的调用方式。 实现装饰器知识储备: 1.函数即变量 2.高阶函数 3.嵌套函数 高阶函数+嵌套函数=》装饰器 ...
分类:
其他好文 时间:
2020-01-04 12:17:14
阅读次数:
58