栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

重写__add__方法后出现TypeError

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

重写__add__方法后出现TypeError

您还需要定义

__radd__
才能使它起作用。

__radd__
反向添加 。当Python尝试评估时,
x +y
它首先尝试调用
x.__add__(y)
。如果失败,则返回到
y.__radd__(x)

这样,您仅需触摸一个班级即可覆盖加法。例如,考虑Python如何评估

0 +x
0.__add__(x)
尝试进行呼叫,但
int
对您的课程一无所知。您无法很好地更改
__add__
方法
int
,因此需要
__radd__
。我想这是依赖倒置的一种形式。

正如Steven所指出的那样,它

sum
在原地运行,但从0开始。因此,第一个加法是唯一需要使用的
__radd__
。作为一项不错的练习,您可以检查是否是这种情况!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/640903.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号