在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]) | 數值運算時使用到。 分別為 +, -, *, /, 平方 |
沒有留言:
張貼留言