在我自己写的类中,如果没有实现__new__方法的话,而且仅仅继承了object类,是否由object提供 __new__方法的默认实现。
另外,如果自己写的类继承了其他父类类(非object类),而该父类实现了__new__方法,那么子类用的是该父类的new方法还是object类的new方法。
class A(object):
pass
class A(object):
def __new__(cls):
pass
clas B(A):
pass
python在查找类方法时会依照深度优先的方式沿着继承链往父类寻找,子类没有的函数会自动找父类,父类没有就找父类的父类直到找到为止.所有其他支持面向对象的语言的继承也是这样查找的.
根据第一条,你的子类无new函数,父类有new函数那么在new 子类的时候当然会调用父类的new,至于父类会不会调用object的new那要看父类是不是继承了object.
你可以搜索python mro查找更多的资料