在Python 中重寫數學運算符
在Python 中,定義自訂運算符的能力是一項備受追捧的功能。儘管 Python 本身並不支援運算子重定義,但一種巧妙的技術可以克服此限制。
中綴運算符定義
此技術允許使用者定義中綴運算符,類似於乘法運算符 *,透過使用 lambda 函數。定義中綴運算子的語法為:
<code class="python">operator = Infix(lambda x, y: operation)</code>
其中 lambda x, y: 運算表示對運算元 x 和 y 執行所需運算的函數。
使用示例
考慮以下示例:
<code class="python">x = Infix(lambda x, y: x * y) print (2 |x| 4) # Output: 8</code>
<code class="python">isa = Infix(lambda x, y: x.__class__ == y.__class__) print([1, 2, 3] |isa| []) print([1, 2, 3] <<isa>> []) # Output: True</code>
這些範例展示了該技術透過允許定義自訂運算子來擴展Python 功能的強大功能。
以上是如何在 Python 中定義自訂運算子:中綴運算子實作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!