找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2049|回复: 1

[求助] 有关何时会调用__radd__方法的问题

1

主题

1

帖子

1

积分

贫民

积分
1
rice703 发表于 2018-4-7 16:01:18 | 显示全部楼层 |阅读模式
我看到书中说当第一个对象如果没有__add__()方法时会调用第二个参数的__radd__
例子如下:
>>> class Nint(int):
def __radd__(self,other):
return int.__sub__(self,other)


>>> a=Nint(1)
>>> a
1
>>> 2+a
-1
此时第一个对象2是int类型,照理不是有__add__方法吗,为什么会触发第二个Nint型的a对象的__radd__方法
求各位帮忙解答
我还试过如下程序
>>> class Nint(int):
pass

>>> a=Nint(1)
>>> a
1
>>> 1+a
2
此时到底调用的是1的__add__方法,还是a的__radd__方法呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表