Maison  >  Article  >  développement back-end  >  Comment définir et utiliser des opérateurs personnalisés en Python ?

Comment définir et utiliser des opérateurs personnalisés en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-22 06:38:30611parcourir

How to Define and Use Custom Operators in Python?

Définition d'opérateurs personnalisés en Python

Bien que Python ne prenne pas automatiquement en charge les définitions d'opérateurs personnalisés, il existe une solution de contournement qui vous permet de créer et d'utiliser eux.

Opérateurs Infix

Les opérateurs Infix sont ceux qui apparaissent entre les opérandes, comme , * et ==. Pour définir un opérateur infixe, vous pouvez utiliser la classe Infix :

<code class="python">x = Infix(lambda x, y: x * y)</code>

Cela créera un opérateur |x| qui effectue l’opération donnée. Par exemple :

<code class="python">print(2 |x| 4) # Output: 8</code>

Autres opérateurs personnalisés

Vous pouvez également définir des opérateurs de préfixe, de suffixe, de circonfixe et d'infixe non associatifs. Voici quelques exemples :

Préfixe

<code class="python">inc = Prefix(lambda x: x + 1)
print(inc(1)) # Output: 2</code>

Postfix

<code class="python">negate = Postfix(lambda x: -x)
print(10 negate()) # Output: -10</code>

Circonfix

<code class="python">greater_than = Circumfix(lambda x, y: x > y)
print(2 greater_than 1) # Output: True</code>

Infixe non associatif

<code class="python">xor = Infix(lambda x, y: x ^ y)
print(1 xor 2 xor 3) # Output: 0 (not 7)</code>

En utilisant ces techniques, vous pouvez étendre les fonctionnalités de Python et créer des opérateurs personnalisés adaptés à vos besoins spécifiques.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn