gpt4 book ai didi

python - 为什么 str 在 Python 中没有 __radd__ 方法?

转载 作者:太空宇宙 更新时间:2023-11-03 13:53:37 25 4
gpt4 key购买 nike

str 还有其他方法,如 __rmod__、__rsub__ 或 __rmul__

int 确实有一个 __radd__ 方法

很奇怪,我想知道为什么。

当第一个学期有 add 方法时调用的 radd beeing 示例:

>>> class STR(str):
... def __radd__(self, other):
... print "jeje"
... return other.__add__(self)
...
>>> 'aaaaa' + STR('bbbbb')
jeje
'aaaaabbbbb'

最佳答案

__radd__ 在加法的第一项未实现 __add__ 时使用。在 int 的情况下,加法在其数学定义中得到了很好的定义,因此 int 试图将另一项强制转换为数字。

对于 str,没有这样明确定义的含义,python 的开发人员已经决定没有明显的需要有一些东西 + “一个字符串”。

关于python - 为什么 str 在 Python 中没有 __radd__ 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2213329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com