今日内容大纲:
1. 了解python2和python3类的区别
python2在2.4之前使用的是经典类, 2.4之后, 使用的是新式类
class Foo:
pass
class Foo(object):
pass
MRO: method resolution order 方法的查找顺序
class Base:
pass
class Base1:
def chi():
pass
class Bar(Base, Base1):
pass
b = Bar() # Bar -> Base -> Base1
b.chi()
2. 经典类的MRO 树形结构的深度优先遍历 -> 树形结构遍历
3. 新式类的MRO C3算法(难点, 重点)
1. 拆分
2. 合并
用头和身体比较
4. super() 找MRO顺序的下一个
5. 一道面试题
1.深读递归
2.MRO_C3
3.super