Python 中的運算子重載
在 Python 中,不直接支援訂運算子。然而,一個聰明的解決方法允許修改現有的運算符,給人一種創建新運算符的錯覺。這種「中綴」技術可以定義在兩個表達式之間工作的運算符,如下例所示:
<code class="python"># Simple multiplication operator x = Infix(lambda x, y: x * y) print(2 |x| 4) # Output: 8</code>
在此範例中,|x|運算符的行為類似於乘法運算子(*)。同樣,可以定義自訂比較的運算子:
<code class="python"># Class checking operator isa = Infix(lambda x, y: x.__class__ == y.__class__) print([1, 2, 3] |isa| []) # Output: True print([1, 2, 3] <<isa>> []) # Output: True</code>
這裡,|isa|運算子檢查兩個表達式是否屬於同一類別。這種解決方法有效地擴展了 Python 運算子的功能,提供了定義自訂操作的靈活性,而無需使用新語法。
以上是Python 運算子可以重新定義嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!