定制类的特殊方法
特殊方法 描述
基本定制型
C.__init__(self[, arg1, ...]) 構(gòu)造器(帶一些可選的參數(shù))
C.__new__(self[, arg1, ...])a 構(gòu)造器(帶一些可選的參數(shù));通常用在設(shè)置不變數(shù)據(jù)類型的子類。
C.__del__(self) 解構(gòu)器
C.__str__(self) 可打印的字符輸出;內(nèi)建str()及print 語(yǔ)句
C.__repr__(self) 運(yùn)行時(shí)的字符串輸出;內(nèi)建repr() 和‘‘ 操作符
C.__unicode__(self)b Unicode 字符串輸出;內(nèi)建unicode()
C.__call__(self, *args) 表示可調(diào)用的實(shí)例
C.__nonzero__(self) 為object 定義False 值;內(nèi)建bool() (從2.2 版開始)
C.__len__(self) “長(zhǎng)度”(可用于類);內(nèi)建len()
?
特殊方法 描述
對(duì)象(值)比較c
C.__cmp__(self, obj) 對(duì)象比較;內(nèi)建cmp()
C.__lt__(self, obj) and 小于/小于或等于;對(duì)應(yīng)<及<=操作符
C.__gt__(self, obj) and 大于/大于或等于;對(duì)應(yīng)>及>=操作符
C.__eq__(self, obj) and 等于/不等于;對(duì)應(yīng)==,!=及<>操作符屬性
C.__getattr__(self, attr) 獲取屬性;內(nèi)建getattr();僅當(dāng)屬性沒有找到時(shí)調(diào)用
C.__setattr__(self, attr, val) 設(shè)置屬性
C.__delattr__(self, attr) 刪除屬性
C.__getattribute__(self, attr) a 獲取屬性;內(nèi)建getattr();總是被調(diào)用
C.__get__(self, attr) a (描述符)獲取屬性
C.__set__(self, attr, val) a (描述符)設(shè)置屬性
C.__delete__(self, attr) a (描述符)刪除屬性定制類/模擬類型數(shù)值類型:二進(jìn)制操作符
C.__*add__(self, obj) 加;+操作符
C.__*sub__(self, obj) 減;-操作符
C.__*mul__(self, obj) 乘;*操作符
C.__*div__(self, obj) 除;/操作符
C.__*truediv__(self, obj) e True 除;/操作符
C.__*floordiv__(self, obj) e Floor 除;//操作符
C.__*mod__(self, obj) 取模/取余;%操作符
C.__*divmod__(self, obj) 除和取模;內(nèi)建divmod()
C.__*pow__(self, obj[, mod]) 乘冪;內(nèi)建pow();**操作符
C.__*lshift__(self, obj) 左移位;<<操作符
?
特殊方法 描述
定制類/模擬類型
數(shù)值類型:二進(jìn)制操作符
C.__*rshift__(self, obj) 右移;>>操作符
C.__*and__(self, obj) 按位與;&操作符
C.__*or__(self, obj) 按位或;|操作符
C.__*xor__(self, obj) 按位與或;^操作符數(shù)值類型:一元操作符
C.__neg__(self) 一元負(fù)
C.__pos__(self) 一元正
C.__abs__(self) 絕對(duì)值;內(nèi)建abs()
C.__invert__(self) 按位求反;~操作符數(shù)值類型:數(shù)值轉(zhuǎn)換
C.__complex__(self, com) 轉(zhuǎn)為complex(復(fù)數(shù));內(nèi)建complex()
C.__int__(self) 轉(zhuǎn)為int;內(nèi)建int()
C.__long__(self) 轉(zhuǎn)為long;內(nèi)建long()
C.__float__(self) 轉(zhuǎn)為float;內(nèi)建float()數(shù)值類型:基本表示法(String)
C.__oct__(self) 八進(jìn)制表示;內(nèi)建oct()
C.__hex__(self) 十六進(jìn)制表示;內(nèi)建hex()數(shù)值類型:數(shù)值壓縮
C.__coerce__(self, num) 壓縮成同樣的數(shù)值類型;內(nèi)建coerce()
C.__index__(self)g 在有必要時(shí),壓縮可選的數(shù)值類型為整型(比如:用于切片索引等等)
?
表13.4 定制類的特殊方法(續(xù))
序列類型
C.__len__(self) 序列中項(xiàng)的數(shù)目
C.__getitem__(self, ind) 得到單個(gè)序列元素
C.__setitem__(self, ind,val) 設(shè)置單個(gè)序列元素
C.__delitem__(self, ind) 刪除單個(gè)序列元素
特殊方法 描述
序列類型
C.__getslice__(self, ind1,ind2) 得到序列片斷
C.__setslice__(self, i1, i2,val) 設(shè)置序列片斷
C.__delslice__(self, ind1,ind2) 刪除序列片斷
C.__contains__(self, val) f 測(cè)試序列成員;內(nèi)建in 關(guān)鍵字
C.__*add__(self,obj) 串連;+操作符
C.__*mul__(self,obj) 重復(fù);*操作符
C.__iter__(self) e 創(chuàng)建迭代類;內(nèi)建iter()
?
映射類型
C.__len__(self) mapping 中的項(xiàng)的數(shù)目
C.__hash__(self) 散列(hash)函數(shù)值
C.__getitem__(self,key) 得到給定鍵(key)的值
C.__setitem__(self,key,val) 設(shè)置給定鍵(key)的值
C.__delitem__(self,key) 刪除給定鍵(key)的值
C.__missing__(self,key) 給定鍵如果不存在字典中,則提供一個(gè)默認(rèn)值
轉(zhuǎn)載于:https://www.cnblogs.com/zhu327/archive/2012/12/27/2835999.html
總結(jié)
- 上一篇: 手机浏览器页面知识收集
- 下一篇: HDU2604 Queuing