Definieren benutzerdefinierter Operatoren in Python
Obwohl Python von Natur aus keine benutzerdefinierten Operatordefinitionen unterstützt, gibt es eine Problemumgehung, mit der Sie benutzerdefinierte Operatoren erstellen und verwenden können sie.
Infix-Operatoren
Infix-Operatoren sind solche, die zwischen Operanden erscheinen, wie , * und ==. Um einen Infix-Operator zu definieren, können Sie die Infix-Klasse verwenden:
x = Infix(lambda x, y: x * y)
Dadurch wird ein Operator |x| erstellt das die gegebene Operation ausführt. Zum Beispiel:
print(2 |x| 4) # Output: 8
Andere benutzerdefinierte Operatoren
Sie können auch ein Präfix definieren , Postfix-, Zirkumfix- und nicht-assoziative Infix-Operatoren. Hier einige Beispiele:
Prefix
inc = Prefix(lambda x: x 1)
print(inc(1)) # Output: 2
Postfix
negate = Postfix(lambda x: -x)
print(10 negate()) # Output: -10
Circumfix
greater_than = Circumfix(lambda x, y: x > y)
print(2 greater_than 1) # Output: True
Non-Associative Infix
xor = Infix(lambda x, y: x ^ y)
print(1 xor 2 xor 3) # Output: 0 (not 7)
Durch die Verwendung dieser Techniken können Sie die Funktionalität von Python erweitern und benutzerdefinierte Operatoren erstellen, die auf Ihre spezifischen Anforderungen zugeschnitten sind.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3