为了账号安全,请及时绑定邮箱和手机立即绑定

关于python中__new__ 的一些疑惑

关于python中__new__ 的一些疑惑

森栏 2019-05-25 14:41:31
在我自己写的类中,如果没有实现__new__方法的话,而且仅仅继承了object类,是否由object提供__new__方法的默认实现。另外,如果自己写的类继承了其他父类类(非object类),而该父类实现了__new__方法,那么子类用的是该父类的new方法还是object类的new方法。classA(object):passclassA(object):def__new__(cls):passclasB(A):pass
查看完整描述

2 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

python在查找类方法时会依照深度优先的方式沿着继承链往父类寻找,子类没有的函数会自动找父类,父类没有就找父类的父类直到找到为止.所有其他支持面向对象的语言的继承也是这样查找的.根据第一条,你的子类无new函数,父类有new函数那么在new子类的时候当然会调用父类的new,至于父类会不会调用object的new那要看父类是不是继承了object.你可以搜索pythonmro查找更多的资料
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 366 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信