国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中操作符重載用法分析

2020-01-04 17:30:25
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Python中操作符重載用法,較為詳細的分析了Python操作符重載的功能,使用方法與相關注意事項,需要的朋友可以參考下
 

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

類可以重載python的操作符

操作符重載使我們的對象與內置的一樣。__X__的名字的方法是特殊的掛鉤(hook),python通過這種特殊的命名來攔截操作符,以實現重載。 python在計算操作符時會自動調用這樣的方法,例如:

如果對象繼承了__add__方法,當它出現在+表達式中時會調用這個方法。通過重載,用戶定義的對象就像內置的一樣。

在類中重載操作符

1、操作符重載使得類能攔截標準的python操作。
2、類可以重載所有的python的表達式操作符。
3、類可以重載對象操作:print,函數調用,限定等。
4、重載使得類的實例看起來更像內置的。

5、重載是通過特殊命名的類方法來實現的。

方法名        重載的操作說明        調用表達式
__init__    構造函數        創建對象:class()
__del__        析構函數        釋放對象的時候
__add__        “+”            x + y
__or__        “|”            x | y
__repr__    打印,轉換        print x, `x`
__call__    函數調用        X()
__getattr__    屬性引用        x.undefined
__getitem__    索引            x[key],for循環,in測試
__setitem__    索引賦值        x[key] = value
__getslice__    分片            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)014916
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 达州市| 鄄城县| 灵川县| 资溪县| 兴安盟| 凤城市| 阿克陶县| 洛浦县| 富宁县| 乐亭县| 永清县| 淳安县| 阿鲁科尔沁旗| 盖州市| 凤翔县| 鸡东县| 西青区| 神木县| 林州市| 额尔古纳市| 开化县| 丹寨县| 临安市| 瑞金市| 安多县| 乐陵市| 舞钢市| 辉县市| 四平市| 平谷区| 玉溪市| 嘉善县| 阜宁县| 娄烦县| 会泽县| 涞水县| 沁阳市| 五河县| 邹城市| 定安县| 秀山|