2008年10月6日 星期一

Python - Special method names

在Python裡面的Class,不少特殊的方法名稱都具有特別的用途,例如__init__就是物件初始化時會自動被呼叫的方法。

剛剛Python文章讀到相關的,就隨便去把Reference文件查了出來:Special method names

以下列一些我個人認為我常用的:

名稱 用途
__init__(self[, ...]) 物件的建構式。
__del__(self) 物件的解構式。
__str__(self) print 這個物件時,會顯示的字串。
__lt__(self, other)
__le__(self, other)
__eq__(self, other)
__ne__(self, other)
__gt__(self, other)
__ge__(self, other)
物件用來互相比較時會呼叫的方法。
分別為:  <,  <=, ==, != , >, >=
__cmp__(self, other) 使用cmp()來比較物件時會呼叫此方法。
__getattr__(self, name) 使用getattr()時會呼叫此方法。
__len__(self) 使用len()時會呼叫此方法。
__getitem__(self, key) 當物件本身為可列舉時,要取回列舉元素時,要定義此方法。

__add__(self, other)

__sub__(self, other)

__mul__(self, other)

__div__(self, other)

__pow__( self, other[, modulo])

數值運算時使用到。
分別為 +, -, *, /, 平方

沒有留言:

張貼留言