在本教程中,我們將討論運算符重載、它的優點以及如何重載“+”運算符。
在討論__add__
方法之前,讓我們了解什麼是運算符重載。
運算符重載使我們能夠創建現有運算符的定義,這樣我們也可以將它們用於用戶定義的數據類型。
考慮下面的例子-
i) 10+2
在第一個例子中,’+’運算符用於將兩個整數相加。
ii)【JavaPoint】+【教程】
在第二個例子中,’+’運算符用於連接兩個字符串。
iii)列表 1+列表 2
在第三個例子中,’+’運算符用於組合兩個列表的元素。
這清楚地表明,基於數據類型,’+’運算符在不同情況下的工作方式不同。
運算符重載的優勢
- 同一運算符可用於不同的用戶定義對象。
- 在內置數據類型的情況下可以觀察到的語法支持也為用戶定義的類型提供。
- 這個概念對於理解科學計算有着重要的作用。
- 這個程序看起來清晰易懂。
現在是深入應用世界的時候了,我們將看到運算符“+”是如何被重載的。
我們將使用的函數是 add。
在第一個程序中,我們將討論如何將兩個複數相加。
示例-
class Complex:
def __init__(self):
self.real=0
self.imag=0
def decValue(self,real,imag):
self.real=real
self.imag=imag
def __add__(self,C):
temp=Complex()
temp.real=self.real+C.real
temp.imag=self.imag+C.imag
return temp
def display(self):
print("(",self.real, "+", self.imag,"i)")
C1=Complex()
C1.decValue(10,12)
C2=Complex()
C2.decValue(8,6)
C3=Complex()
C3=C1+C2
print("The result of the addition of two complex numbers is: ")
C3.display()
輸出:
The result of the addition of two complex numbers is:
( 18 + 18 i)
解釋-
在上面的程序中,我們創建了一個名為“Complex”的類,並定義了一些類方法。第一種方法使用 init ,這是一個類構造器,使用它很重要,因為它初始化了類對象的變量。接下來,我們可以在這裡看到關鍵字“自我”,它指的是對象本身。
下一個方法 decValue 用於傳遞實數和 imag 的值。
接下來,我們將相加兩個複數,其中第一個數的實數部分將被添加到第二個數的實數部分,第一個數的虛數部分將被添加到第二個數的虛數部分。
最後,顯示方法將以提供的格式顯示所需的輸出。
class Student:
def __init__(self,name,marks):
self.name=name
self.marks=marks
def display(self):
print(self.name,self.marks)
def __add__(self,S):
temp=Student(S.name,[])
for i in range(len(self.marks)):
temp.marks.append(self.marks[i]+S.marks[i])
return temp
S1=Student("Aarav",[90,91,88])
S2=Student("Aarav",[88,86,87])
S1.display()
S2.display()
S3=Student("",[])
S3=S1+S2
S3.display()
輸出:
Aarav [90, 91, 88]
Aarav [88, 86, 87]
Aarav [178, 177, 175]
解釋-
在上面的程序中,我們創建了一個名為“Student”的類,並定義了一些類方法。第一個方法使用 init 這是一個類構造器,使用它很重要,因為它初始化類對象的變量。接下來,我們可以在這裡看到關鍵字“自我”,它指的是對象本身。
接下來,我們將添加學生的標記,為此,我們使用 for
循環在列表中添加標記。
最後,顯示方法將以提供的格式顯示所需的輸出。
因此,在本文中,我們學習了如何在 Python 程序中使用 add 。
原創文章,作者:JDMBF,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/318212.html