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