python之運算子過載

2021-09-24 14:13:00 字數 1182 閱讀 1075

python中的運算子使用時是呼叫了物件的方法

方法運算子

說明__add __

加法+ +=

__sub __

減法- -+

__mul __

乘法* *=

__div __

除法/ /=

__mod __

求餘% %=

__bool __

布林bool()

__eq __

等於==

__ne __

不等於!=

__ge __

大於等於

>=

__le __

小於等於

<=

__gt __

大__lt __

小於<

__contains __

成員運算

in__getitem __

切片x[:]

__setitem __

切片賦值

x[:]=

__delitem __

切片刪除

del x[:]

__len __

長度len()

__iter __, __next __

迭代iter() next() for while

__repr __, __str __

列印、轉換

print() pepr() str()

加法運算重構(類外的+),將一一對應的列表元素相加

class demo:

def __init__(self,obj): # 引數self是類自身,引數obj物件傳遞的引數

self.data=obj # 新增物件屬性

def __add__(a,b): # 引數a是物件a ,引數b是物件b

n=len(a.data)

num=[a.data[i]+b.data[i] for i in range(n)]

return demo(num) # 返回新的物件

a=demo([1,2,3]) # a 物件

b=demo([3,2,1]) # b 物件

c=a+b # c 物件

print(c.data)

運算子過載之過載型別運算子

普通型別 類型別 呼叫對應的只有乙個引數 引數的型別就是這個普通型別 的建構函式 需求 boy boy1 10000 薪資 建構函式boy int boy boy2 rock 姓名 建構函式boy char 普通型別賦值給類型別其實很簡單,就是專門的對這個賦值的型別定義乙個建構函式。編譯器在執行 的...

過載之運算子過載

運算子過載,就是對已有的運算子重新進行定義,賦予其另一種功能,以適應不同的資料型別 運算子過載的宣告方式與方法的宣告方式相同,但operator關鍵字告訴編譯器,它實際上是乙個運算子過載,後面是相關運算子的符號,在本例中就是 返回型別是在使用這個運算子時獲得的型別。在本例中,把兩個向量加起來會得到另...

python隨筆 之 運算子過載

class bob def init self,x self.x x defeat self print bob吃了 d碗飯 self.x 過載,對加法進行過載 def add self,other 返回乙個此類的的匿名物件 return bob self.x other.x bob昨天吃了10碗飯...