python使用add進行重載加法
python使用add進行重載加法
本文教程操作環境:windows7系統、Python3.9.1,DELLG3電腦。
1、先定義一個類:
classPoint:
def__init__(self,x,y):
self.x=x
self.y=y
>>>a=Point(2,4)
>>>b=Point(3,5)
>>>a+b
Traceback(mostrecentcalllast):
File"/usr/local/python3/lib/python3.6/site-packages/IPython/core/interactiveshell.py",line2862,inrun_code
exec(code_obj,self.user_global_ns,self.user_ns)
File"",line1,in
a+b
TypeError:unsupportedoperandtype(s)for+:'Point'and'Point'
很顯然a和b并不能相加,但是我們可以定義一個方法讓它們實現相加。
classPoint:
def__init__(self,x,y):
self.x=x
self.y=y
#定義一個add方法
defadd(self,other):
returnPoint(self.x+other.x,self.y+other.y)
>>>a=Point(2,4)
>>>b=Point(3,5)
>>>c=a.add(b)
>>>c.x
Out[6]:5
2、通過一個add方法,我們實現了它們的相加功能。但是,我們還是習慣使用加號,事實上,我們只要改下函數名就可以使用+進行運算了。
def__add__(self,other):
returnPoint(self.x+other.x,self.y+other.y)
很顯然+就是調用類的__add__方法,因為我們只要加入這個方法就能夠實現加法操作。
以上就是python使用add進行重載加法,希望能對大家有所幫助。更多Python學習教程請關注IT培訓機構:千鋒教育。
相關推薦HOT
更多>>如何使用Pandas處理Excel?
如何使用Pandas處理Excel?做過行政或者人事,或者對此有過了解的小伙伴,一定對下發各個部分的表有著非常深刻的印象,最常見的就是需要我們將一...詳情>>
2023-11-14 07:43:15python中np.insert()函數的使用方法
python中np.insert()函數的使用方法在numpy數組操作中,np.append()方法可以在每行每列的最后添加數據,但其位置是規定的,那如果想要指定添加...詳情>>
2023-11-14 05:06:13SVM在python中的原理如何理解?
SVM在python中的原理如何理解?在python中除了編程化的知識點外,對于數學方法的算法也有所涉及,SVM就是一種很好地體現。我們學習過數學中的坐...詳情>>
2023-11-14 04:30:04python處理絕對路徑和相對路徑函數有哪些?
python處理絕對路徑和相對路徑函數有哪些?絕對路徑和相對路徑是什么?絕對路徑:從根文件夾開始,Windows系統以盤符(C:)作為根文件夾,OSX或Lin...詳情>>
2023-11-14 03:33:02熱門推薦
如何使用python any()判斷多元素?
沸如何使用Pandas處理Excel?
熱python函數中的參數有哪些?
熱python中pygal模塊如何使用?
新Python的excel處理操作
python中doctest庫是什么?
python中series是什么意思
python中np.insert()函數的使用方法
SVM在python中的原理如何理解?
Python描述符中有哪三種方法?
python處理絕對路徑和相對路徑函數有哪些?
python單繼承和多繼承如何定義?
python封裝中的私有如何理解?
python模塊引入的三種方式