1.递归 递归算法是一种直接或间接调用自身算法的过程。 每个递归函数都有两部分:基线 条件(base case)和递归条件(recursive case)。 递归条件指的是函数调用自己的条件 基线条件则指的是函数不再调用自己,函数的终止条件,避免形成无限循环 。 比如,如下打印数字的递归函数: 2. ...
分类:
其他好文 时间:
2020-06-05 09:13:27
阅读次数:
91
在一日一技:实现函数调用结果的 LRU 缓存一文中,我们提到Python自带的LRU缓存lru_cache。通过这个装饰器可以非常轻松地实现缓存。 现在我们考虑下面这个应用场景:MongoDB中有100对id-用户名的对应关系,我从Redis中持续不断读取id,如果id能在MongoDB中找到对应关 ...
分类:
其他好文 时间:
2020-06-05 01:04:48
阅读次数:
93
在工程项目中,可能有一些函数调用耗时很长,但是又需要反复多次调用,并且每次调用时,相同的参数得到的结果都是相同的。在这种情况下,我们可能会使用变量或者列表来存放,例如: resp_1 = get_resp(param=1) resp_2 = get_resp(param=2) resp_3 = ge ...
分类:
其他好文 时间:
2020-06-05 01:03:34
阅读次数:
90
1 决定this指向的是函数执行的时候,而不是函数声明的时候。 2 谁调用的函数,this就指向谁,class和构造函数也适用,this指向实例。 3 箭头函数不改变this指向,this是上级函数作用域的this。 4 fn1.call({x:1}),用call函数调用,this就是传入{x:1} ...
分类:
其他好文 时间:
2020-06-03 00:57:25
阅读次数:
80
题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。 程序分析:无。 实例: 1 #include <stdio.h> 2 3 int main() 4 { 5 int i=5; 6 void palin(int n); 7 printf("请输入5个字符\40:\40"); 8 p ...
分类:
其他好文 时间:
2020-06-02 13:21:47
阅读次数:
59
1.多任务协程 pip install asyncio(协程的模块) 和 pip install aiohttp(支持网络异步请求的的模块)第一步:创建任特殊函数,在函数定义前面加上async关键字(用来发送请求) 该函数特殊之处:1.调用后不会立即执行 2.函数调用后返回一个协程对象第二步:创建协 ...
分类:
其他好文 时间:
2020-05-30 12:26:31
阅读次数:
52
js-进阶心得 01-面向对象 构造函数 function Student(name, age) { //实例成员 通过new出来的成员 // name,age叫对象的属性(成员) this.name = name; this.age = age; // study叫对象的方法 (成员) this. ...
分类:
Web程序 时间:
2020-05-29 23:19:07
阅读次数:
94
json返回的是一串数据;而jsonp返回的是脚本代码(包含一个函数调用); JSON其实就是JavaScript中的一个对象,跟var obj={}在质上完全一样,只是在量上可以无限扩展。简单地讲,json其实就是JavaScript中的对象(Object)和数组(Array,其实也是对象)这倆好 ...
分类:
Web程序 时间:
2020-05-29 15:12:00
阅读次数:
78
#类型转换 最初CGO是为了达到方便从Go语言函数调用C语言函数(用C语言实现Go语言声明的函数)以复用C语言资源这一目的而出现的(因为C语言还会涉及回调函数,自然也会涉及到从C语言函数调用Go语言函数(用Go语言实现C语言声明的函数))。现在,它已经演变为C语言和Go语言双向通讯的桥梁。要想利用好 ...
分类:
其他好文 时间:
2020-05-29 11:54:47
阅读次数:
66
##如何选择合适的排序算法? 线性排序算法的时间复杂度比较低,适用场景比较特殊。所以如果要写一个通用的排序函数,不能选择线性排序算法。 如果对小规模数据进行排序,可以选择时间复杂度是 O(n2) 的算法;如果对大规模数据进行排序,时间复杂度是 O(nlogn) 的算法更加高效。所以,为了兼顾任意规模 ...
分类:
编程语言 时间:
2020-05-28 21:24:53
阅读次数:
81