Remplacer les opérateurs mathématiques en Python
En Python, la possibilité de définir des opérateurs personnalisés est une fonctionnalité très recherchée. Bien que Python ne prenne pas automatiquement en charge la redéfinition des opérateurs, une technique intelligente peut surmonter cette limitation.
Définition de l'opérateur infixe
Cette technique permet aux utilisateurs de définir des opérateurs infixes, similaires au opérateur de multiplication *, grâce à l'utilisation de fonctions lambda. La syntaxe pour définir un opérateur infixe est :
<code class="python">operator = Infix(lambda x, y: operation)</code>
où lambda x, y : opération représente la fonction qui effectue l'opération souhaitée sur les opérandes x et y.
Exemple d'utilisation
Considérez les exemples suivants :
<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>
Ces exemples démontrent la puissance de cette technique pour étendre les fonctionnalités de Python en permettant la définition d'opérateurs personnalisés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!