返回介绍

常见的运算符重载方法

发布于 2024-01-29 22:24:15 字数 801 浏览 0 评论 0 收藏 0

在类中,对内置对象(例如,整数和列表)所能做的事,几乎都有相应的特殊名称的重载方法。表29-1列出其中一些最常用的重载方法。事实上,很多重载方法有好几个版本(例如,加法就有__add__、__radd__和__iadd__)。参考其他Python书籍,或者Python语言参考手册,来了解完整的特殊方法名的清单。

所有重载方法的名称前后都有两个下划线字符,以便把同类中定义的变量名区别开来。特殊方法名称和表达式或运算的映射关系,是由Python语言预先定义好的(在标准语言手册中有说明)。例如,名称__add__按照Python语言的定义,无论__add__方法的代码实际在做些什么,总是对应到了表达式+。

如果没有定义运算符重载方法的话,它可能继承自超类,就像任何其他的方法一样。运算符重载方法也都是可选的——如果没有编写或继承一个方法,你的类直接不支持这些运算,并且试图使用它们会引发一个异常。一些内置操作,如打印,有默认的重载方法(继承自Python 3.0中隐含object类),但是,如果没有给出相应的运算符重载方法的话,大多数内置函数会对类实例失效。

多数重载方法只用在需要对象行为表现得就像内置类型一样的高级程序中。然而,__init__构造函数常出现在绝大多数类中。我们已见到过__init__初始设定构造函数,以及表29-1中一些其他的方法。让我们通过例子来说明表中的其他方法吧。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文