装饰器,简而言之就是在不改变原函数任何代码(包括调用方式)的情况下为函数增加额外的功能。特殊之处在于装饰器的返回值也是一个函数。 下面先举个简单的栗子: import time def count_time(foo_func): def inner(): print("inner func star ...
分类:
编程语言 时间:
2018-09-06 14:40:52
阅读次数:
164
装饰器与耦合聚合装饰器装饰器本质也是一个一参高阶函数,参数也是函数,构成了函数的嵌套,再利用闭包特性将内外层函数的作用域联系起来。主要用于函数非核心功能的增加,使原函数的功能增强,应用范围更广,方式更灵活,将核心功能和非核心功能解耦。所以当需要对核心功能的函数做附属功能增强时,但又不想因为附属功能的修改影响到核心功能,降低各个功能的耦合度,首选使用装饰器。耦合度、聚合度1.”程序=数据结构+算法“
分类:
其他好文 时间:
2018-09-02 17:09:40
阅读次数:
155
递归目录生成器方式, else 里的 tmp 显示获取 yield 不可缺少 , 递归算法中若要使用生成器,需要在生成器的原函数(首次调用)显式得到所有yield值 参考资料来源,如下 flattern list ...
分类:
编程语言 时间:
2018-08-31 10:52:40
阅读次数:
148
装饰器装饰器实际上就是为了给某程序增添功能,但该程序已经上线或已经被使用,那么就不能大批量的修改源代码,这样是不科学的也是不现实的,因为就产生了装饰器,使得其满足:(1).不能修改被装饰的函数的源代码(2).不能修改被装饰的函数的调用方式(3).满足(1)、(2)的情况下给程序增添功能实现:我们写一个嵌套函数,在内部函数中添加新功能新内容,然后调用原函数,再在外部函数return这个内部函数。由于
分类:
编程语言 时间:
2018-08-20 22:48:42
阅读次数:
158
★定义 在不改变原函数的调用方式的情况下,在函数前后添加功能 ★固定模式 ★学习步骤 1, 最简单的装饰器 1 # 简单的装饰器 2 import time 3 def timer(f): # 将被装饰的函数传进来 4 def inner(): 5 start_time = time.time() ...
分类:
编程语言 时间:
2018-08-19 23:52:46
阅读次数:
356
装饰器的作用:在不改变源代码和调用方式的情况下,实现功能的添加 (一)基础的装饰器(仅实现为函数添加功能) 功能实现: 为原函数添加计算运行时间的功能 测试结果如下图所示: (二)装饰器高潮版 情景实现为:在网站的登录过程中,一部分为本地登录(local),一部分为ldap登录,在判断完登录方式以后 ...
分类:
编程语言 时间:
2018-08-15 12:34:00
阅读次数:
186
基本的拉格朗日乘子法(又称为拉格朗日乘数法),就是求函数 f(x1,x2,...) 在 g(x1,x2,...)=C 的约束条件下的极值的方法。其主要思想是引入一个新的参数 λ (即拉格朗日乘子),将约束条件函数与原函数联系到一起,使能配成与变量数量相等的等式方程,从而求出得到原函数极值的各个变量的... ...
分类:
其他好文 时间:
2018-08-15 12:06:13
阅读次数:
267
一:装饰器的作用就是在原来函数的基础上增加了一些扩展的功能,因为我们开始写的函数已经投入应用了,所以不能对原函数进行修改,也不能修改对它的调用方式,即“开放封闭原则”,封闭:就是说不能对已经使用的函数进行任何修改;开放:就是说虽然不能对原函数进行修改,但是我们可以进行扩展,以增加新的功能。当然我们也 ...
分类:
其他好文 时间:
2018-08-10 14:31:20
阅读次数:
116
装饰器:说白了就是闭包,但是内部函数调用外部变量调用的是函数, 好处:就是在不用修改原函数代码的前提下给函数增加新的功能 装饰器有两种写法 第一种: 1 #被修饰的函数 2 def say_hello(name): 3 print('我就是人见人爱,花见花开的%s'%name) 4 5 # 参数是被 ...
分类:
编程语言 时间:
2018-08-09 21:08:31
阅读次数:
167
原题链接 题意: 给定 a,b,l,r,求 与x = l,x = r 围成的封闭图形的面积。 思路: 大佬可以直接算一下原函数就出来了,当没法计算或者很难计算的时候就可以用 自适应simpson 积分来逼近真实值。 ...
分类:
其他好文 时间:
2018-08-04 18:47:52
阅读次数:
149