摘要:
:set invlist :set nolist 阅读全文
摘要:
相互递归 都知道递归对于编程的重要性,今天就来谈谈相互递归。 若2者之间存在递推关系,则可以使用相互递归。下面举2个例子。 求pi 根据公式 pi/4 = 1 1/3 + 1/5 1/7 + 1/9 ... 通常相互递归可以通过增加一个参数来抵消掉。 当知道2者之间的递推式,用相互递归实现比较简单 阅读全文
摘要:
关于算法效率的一些思考 减少冗余计算 如果一个算法中包含了某些冗余的计算过程,那么一定有办法可以继续优化。 比如双重递归 这里 和`powerOfTwo((n+1)//2) powerOfTwo((n+1)//2) = 2 powerOfTwo(n//2)`, 同样计算出现冗余,时间复杂度达到O(2 阅读全文
摘要:
dis库是python(默认的CPython)自带的一个库,可以用来分析字节码 python import dis def add(a, b = 0): ... return a + b ... dis.dis(add) 2 0 LOAD_FAST 0 (a) 2 LOAD_FAST 1 (b) 4 阅读全文
摘要:
class : python中cls代表的是类的本身,相对应的self则是类的一个实例对象。 classmethod 说到cls也顺便提提classmethod, 类的方法, 不需要实例化即可调用 classmethod 修饰符对应的函数不需要实例化,不需要 self 参数, 但 第一个参数需要是表 阅读全文
摘要:
绑定 将python闭包之前,先梳理一下闭包中的 绑定 操作。 先看看2个相关的错误 和 When a name is not found at all, a exception is raised. If the name refers to a local variable that has n 阅读全文