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”]