
29Python面向对象(三)
48N6E
这个作者很懒,什么都没留下…
展开
-
2019/11/14 03-Mixin
多继承最怕遇到菱形,这样二义性是无法拒绝的,所以这时候把它线性化,采用一些方式把它线性化,线性化以后采用遍历树的一种方式遍历,但是更加复杂的情况下,不能解决继承路线的单调性用c3算法,在类定义的时候,算出mro,如果单调性有矛盾,这个mro会直接抛出异常,不允许这样的继承方式在搜索一个方法的时候,会按照某个顺序来解决,先找谁,后找谁,就靠mro,算出一个继承的顺序虽然可以模拟世界,但是...原创 2020-09-30 15:11:08 · 153 阅读 · 0 评论 -
2019/11/14 02-古典类新式类和MRO
python不同版本中对类的定义是有差别的,早期的是不同方式定义不同的类,2.2之前,没有共同的祖先。之后引入object,是所有类的祖先但是之前的类不是这个共同祖先所以在2中和3中,就是新的类型和旧的类型该怎么办,就分成了古典类和新式类的问题,2的解决办法是,新的新办法,老的老办法在python3中就都解决了,干脆重新做,所有类都必须继承自object,都是新式类没有继承自object...原创 2020-09-28 18:12:03 · 112 阅读 · 0 评论 -
2019/11/13 01-二分bisect
有一个无序序列,对其先排序再输出新列表,在已排序的序列上插入数据相对来讲比较简单已经排好了队,现在右边这么高的人进去,想要进入到合适的位置,从头开始找就比较费劲,应该有个中点的位置,引入折半查找,中点的位置(中点中值是两个概念给一个列表,前提是需要先排序先算一个小规模的,遇到一个问题先缩小范围简单化计算,这次从左向右找,找到一个数和i比,假如是大于,大于中点这个数说明向右跑。假如这个数...原创 2020-09-28 18:11:55 · 86 阅读 · 0 评论