1. MRO: method resolution order

   lookup order:

   L(MyClass) = [MyClass, merged(L(Base1), L(Base2), Base1, Base2)]

 

2. super(...)

   必须所有的父类都call super, 不然会有不可预测的问题

 

3. class variable & instance variable

   查找顺序 

 都可以通过 self.x 访问, 所以instance variable 会覆盖class variable, 而class variable 可以用来定义一个default value for instance variable.

   如果是mutable的,会有些特殊

 

4. descriptor

 只能定义在class level, 可以通过在instance里记录每次设置的value来为每个instance 定义不同的value for class variable

 

posted on 2016-10-25 11:43  学思罔殆  阅读(147)  评论(0编辑  收藏  举报