Mathematische Operatoren in Python überschreiben
In Python ist die Möglichkeit, benutzerdefinierte Operatoren zu definieren, eine sehr gefragte Funktion. Obwohl Python von Natur aus keine Operator-Neudefinition unterstützt, kann eine clevere Technik diese Einschränkung überwinden.
Infix-Operator-Definition
Mit dieser Technik können Benutzer Infix-Operatoren definieren, ähnlich wie Multiplikationsoperator * durch die Verwendung von Lambda-Funktionen. Die Syntax zum Definieren eines Infix-Operators lautet:
<code class="python">operator = Infix(lambda x, y: operation)</code>
wobei Lambda x, y: Operation die Funktion darstellt, die die gewünschte Operation an den Operanden x und y ausführt.
Verwendungsbeispiel
Betrachten Sie die folgenden Beispiele:
<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>
Diese Beispiele demonstrieren die Leistungsfähigkeit dieser Technik zur Erweiterung der Python-Funktionalität, indem sie die Definition benutzerdefinierter Operatoren ermöglicht.
Das obige ist der detaillierte Inhalt vonWie definiere ich benutzerdefinierte Operatoren in Python: Infix-Operator-Implementierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!