理解不了这段代码
红色部分的代码理解不了,else是在执行什么样的操作?是什么意思呢?防止你无限递归
init就进入setattr,setattr里面还是赋值,只有super()的setattr不会再进入当前类的setattr 本帖最后由 BigSmall 于 2018-11-4 21:52 编辑
塔利班 发表于 2018-11-4 21:01
防止你无限递归
init就进入setattr,setattr里面还是赋值,只有super()的setattr不会再进入当前类的seta ...
还是不太理解
就是我不是太明白,为什么会引起递归?
如果不用super(),else处写self.name=value
Rectangle(3,4),先是__init__,然后呢?怎么会递归? 你先试试 塔利班 发表于 2018-11-4 21:54
你先试试
我知道会引起递归,就是不太明白原理,麻烦说明一下,谢谢 self.xx=yyyy这种就会调用setattr,你在setattr函数里还用这种self赋值就变成自己调用自己,然后就停不下来,
但是super就没关系了,因为不是self的属性赋值,用了父类的 塔利班 发表于 2018-11-4 22:00
self.xx=yyyy这种就会调用setattr,你在setattr函数里还用这种self赋值就变成自己调用自己,然后就停不下来 ...
谢谢你了,明白了{:10_275:}
页:
[1]