Python 中的 __add__ 方法

2024 年 8 月 29 日 | 阅读 3 分钟

在本教程中,我们将讨论运算符重载、它的优点以及如何重载 '+' 运算符。

在讨论 __add__ 方法之前,让我们先了解什么是运算符重载。

运算符重载使我们能够为现有运算符创建定义,以便我们也可以将其用于用户定义的类型。

考虑以下示例-

i) 10+2

在第一个示例中,'+' 运算符用于相加两个整数。

ii) 'JavaTpoint' + 'Tutorials'

在第二个示例中,'+' 运算符用于连接两个字符串。

iii) list1+list2

在第三个示例中,'+' 运算符用于合并两个列表的元素。

这清楚地表明,根据数据类型,'+' 运算符在不同情况下有不同的作用。

运算符重载的优点

  1. 同一个运算符可以用于不同的用户定义对象。
  2. 为用户定义类型也提供了可以在内置数据类型情况下观察到的语法支持。
  3. 这个概念在理解科学计算方面起着至关重要的作用。
  4. 程序看起来清晰易懂。

现在是时候深入了解应用程序的世界了,我们将在这里看到如何重载 '+' 运算符。

我们将为此使用的函数是 __add__。

在第一个程序中,我们将讨论如何相加两个复数。

示例 -

输出

The result of the addition of two complex numbers is: 
( 18 + 18 i)

解释 -

在上面的程序中,我们创建了一个名为 'Complex' 的类并定义了一些类方法。第一个方法使用 __init__,这是一个类构造函数,使用它很重要,因为它会初始化类对象的变量。接下来,我们在这里可以看到 'self' 关键字,它指的是对象本身。

下一个方法 decValue 用于传递 real 和 imag 的值。

接着,我们将相加两个复数,第一个复数的实部将与第二个复数的实部相加,第一个复数的虚部将与第二个复数的虚部相加。

最后,display 方法将以提供的格式显示所需的输出。

输出

Aarav [90, 91, 88]
Aarav [88, 86, 87]
Aarav [178, 177, 175]

解释 -

在上面的程序中,我们创建了一个名为 'Student' 的类并定义了一些类方法。第一个方法使用 __init__,这是一个类构造函数,使用它很重要,因为它会初始化类对象的变量。接下来,我们在这里可以看到 'self' 关键字,它指的是对象本身。

接着,我们将相加学生的成绩,为此我们使用了 for 循环将成绩追加到列表中。

最后,display 方法将以提供的格式显示所需的输出。

因此,在这篇文章中,我们学习了如何在 Python 程序中使用 __add__。