python使用add進行重載加法
本文教程操作環(huán)境: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培訓機構:千鋒教育。