在python的int和str类型上使用__add__

问题描述

我试图理解以下代码为何提供两种不同的结果:

int(5).__add__(str(5))

返回

NotImplemented

那不是也应该返回NotImplemented吗?

a = int(5)
b = str(5)
a+b

TypeError:+不支持的操作数类型:“ int”和“ str” 虽然

5 + '5'

返回

TypeError:+不支持的操作数类型:“ int”和“ str”

因此它知道第一个5int类型,但是不能在5.__add__(5)上使用它

当我将int分配给变量时,int类是否以不同的方式初始化,而不是立即使用int并在括号中使用时以不同的方式对待对象?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)