运算符重载的章节介绍,每个运算符,比如+运算,索引运算,调用运算等等,在内部实际,会把运算符转换为一个对应的特殊方法,那么按这个逻辑,会产生无限的转换吗?如何理解
t1.x会转换成t1.__getattribute__("x"),然后t1.__getattribute__又可以转换为t1.__getattribute__("__getattribute__"),然后其中的t1.__getattribute__又可以转换为t1.__getattribute__("__getattribute__")。。。。。。依次类推,也形成了无限转换?如图2
不会无限转换,__call__不会再被转换了。这是特例。