在Python中,魔法函數(或特殊方法)是具有雙下劃線開始和結束的特殊函數,用于定義類的行為和操作。以下是一些常用的Python魔法函數:
__init__(self, ...)
: 初始化對象,在創建實例時被調用。
__str__(self)
: 返回對象的字符串表示形式,可通過str()
函數或print()
語句調用。
__repr__(self)
: 返回對象的“官方”字符串表示形式,可通過repr()
函數調用。
__len__(self)
: 返回對象的長度,可通過len()
函數調用。
__getitem__(self, key)
: 返回索引或鍵對應的值,可通過下標或鍵訪問對象。
__setitem__(self, key, value)
: 設置索引或鍵對應的值。
__delitem__(self, key)
: 刪除索引或鍵對應的值。
__iter__(self)
: 返回可迭代對象,例如在for循環中使用。
__next__(self)
: 定義迭代器的下一個值。
__contains__(self, item)
: 判斷對象是否包含某個元素,可通過in
操作符使用。
__eq__(self, other)
: 定義對象相等性的比較操作符==
。
__ne__(self, other)
: 定義對象不相等性的比較操作符!=
。
__lt__(self, other)
: 定義小于比較操作符<
。
__gt__(self, other)
: 定義大于比較操作符>
。
__le__(self, other)
: 定義小于等于比較操作符<=
。
__ge__(self, other)
: 定義大于等于比較操作符>=
。
__add__(self, other)
: 定義加法操作符+
。
__sub__(self, other)
: 定義減法操作符-
。
__mul__(self, other)
: 定義乘法操作符*
。
__div__(self, other)
: 定義除法操作符/
。
這只是一小部分常用的魔法函數,Python還有許多其他魔法函數可以用于自定義類的行為和操作。