小白问题:魔法方法
请问基类里的魔法方法和重写的有什么区别,比如__getattribute__,用return super().__getattribute__(***)谢谢大佬帮助{:10_266:} 重写的魔法方法有一个很蛋疼的问题,就拿你这个例子说明
__getattribute__定义访问类的属性时的行为,在没被重写时,它就是基类的魔法方法,用底层的语言来获取这个类的属性
现在你重写了这个魔法方法,不管你重写得怎么天花乱坠,功能丰富了多少倍,最后还是要回到这个方法的本质工作——返回属性值。
蛋疼的来了,这个魔法方法要怎么获得本类的属性值?
直接return xxx.attr?这会导致无限递归,因为xxx.attr访问类的属性,会调用被你重写的__getattribute__,接着循环
所以基类的魔法方法,其实就是它更底层了,相当于你从娃娃机夹娃娃和直接打开娃娃机拿娃娃两者的区别 鱼cpython学习者 发表于 2022-7-20 23:14
重写的魔法方法有一个很蛋疼的问题,就拿你这个例子说明
__getattribute__定义访问类的属性时的行为,在没 ...
thanks{:10_256:}
页:
[1]