首頁  >  文章  >  後端開發  >  詳解Python中操作符重載用法分析

詳解Python中操作符重載用法分析

高洛峰
高洛峰原創
2017-03-06 13:43:461276瀏覽

本文實例講述了Python中操作符重載用法。分享給大家供大家參考,具體如下:

類別可以重載python的操作符

運算子重載使我們的物件與內建的一樣。 __X__的名字的方法是特殊的掛鉤(hook),python透過這種特殊的命名來攔截操作符,以實現重載。 python在計算運算元時會自動呼叫這樣的方法,例如:

如果物件繼承了__add__方法,當它出現在+表達式中時會呼叫這個方法。透過重載,使用者定義的物件就像內建的一樣。

在類別中重載運算元

1、運算子重載使得類別能攔截標準的python操作。
2、類別可以重載所有的python的表達式運算子。
3、類別可以重載物件操作:print,函數調用,限定等。
4、重載使得類別的實例看起來更像內建的。
5、重載是透過特殊命名的類別方法來實現的。

方法名稱        重載的操作說明       呼叫運算式
__init__    建構子       釋放對象的時候
__add__        「+」            x + y
__or__       「|」)     print x, `x`
__call__    函數呼叫        X()
__getattr__    屬性引用        x.undefined
__get!  x[low:high]
__len__        長度            len(x)
__cmp__        比較            x == Y ,x < y
__radd__    右邊的操作符"+"        非實例+ x


例子:
__getitem__攔截了所有的索引操作

>>> class indexer:
def __getitem__(self,index):
return index ** 2
>>> x = indexer()
>>> for i in range(5):
print x[i]  #x[i]将调用__getitem__(x,i)
0
1
4
9
16

更多詳解Python中運算子重載用法分析相關文章請關注PHP中文網!

#
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn