请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

__new__函数中返回对象

为什么可以通过下面这行代码来实现返回对象,能不能解释一下下面这行代码的意思?是用object自带的__new__函数来返回对象的意思吗?如果是这样的话,那么如果不是继承object,而是继承自己写的类的时候该怎么办?

代码:return super().__new__(cls)

正在回答 回答被采纳积分+3

1回答

bobby 2018-07-30 10:30:33

所有的类都是必须继承object的, object在做new实例化的时候会有一些操作这些操作如果你自己不去写super方法的话就不会调用,你返回的实例就容易出错。

0 回复 有任何疑惑可以回复我~
  • Bobby 老师,
    
    我想确认下我的理解是否正确。
    
    这个例子中User 这个类是直接继承的object, 慕粉1247243825 的第二个问题就是如果User(A) 继承自另外一个自定义的父类 A, 那用super.__new__()来给init 传参数是用的父类A的__new__()方法么?如果A的定义中没有单独写__new__(), A是不是也会自动继承object 里面的__new__()呢?
    
    谢谢!
    回复 有任何疑惑可以回复我~ 2022-01-23 17:17:08
  • 是的。。
    回复 有任何疑惑可以回复我~ 2022-01-25 16:38:54
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信