Python操作符重載
操作符重載是一種高級技巧,我們可以使用它來使類可比較,並使它們能夠使用Python的操作符。
讓我們來看一個Dog類:
1 | class Dog: |
讓我們創建2個Dog對象:
1 | roger = Dog('Roger', 8) |
我們可以使用操作符重載來添加一種比較這兩個對象的方式,基於age屬性:
1 | class Dog: |
現在,如果你嘗試運行print(roger > syd),你將得到結果True。
同樣地,我們可以定義以下方法:
__eq__()檢查是否相等__lt__()檢查一個對象是否比另一個對象小使用<操作符__le__()小於等於 (<=)__ge__()大於等於 (>=)__ne__()不相等 (!=)
然後,您可以定義用於與算術操作進行交互的方法:
__add__()响應+操作符__sub__()响應-操作符__mul__()响應*操作符__truediv__()响應/操作符__floordiv__()响應//操作符__mod__()响應%操作符__pow__()响應**操作符__rshift__()响應>>操作符__lshift__()响應<<操作符__and__()响應&操作符__or__()响應|操作符__xor__()响應^操作符
還有一些其他用於處理其他操作符的方法,但是你已經有了基本想法。
tags: [“Python”, “operator overloading”, “comparison operators”, “arithmetic operators”]