Jua*_*nti 3 python implementation
str还有其他方法,如__rmod __,__ rsub __或__rmul__
int确实有一个__radd__方法
很奇怪,我想知道为什么.
示例radd beeing在第一个术语HAS添加方法时调用:
>>> class STR(str):
... def __radd__(self, other):
... print "jeje"
... return other.__add__(self)
...
>>> 'aaaaa' + STR('bbbbb')
jeje
'aaaaabbbbb'
Run Code Online (Sandbox Code Playgroud)
__radd__当第一个添加项没有实现时使用__add__.在这种情况下int,加法由其数学定义很好地定义,因此int试图将另一个术语强制转换为数字.
因为str,没有这样明确定义的含义,并且python的开发人员已经决定没有明显需要的东西+"一个字符串".