L'opérateur tilde (~), hérité du C, est un opérateur unaire qui inverse les bits de son opérande. En Python, son rôle principal implique des opérations au niveau du bit sur les entiers.
Pour les entiers, l'opérateur ~ les transforme efficacement en leur complément négatif. Ceci est réalisé en inversant chaque bit de la représentation en complément à deux et en interprétant le résultat comme un entier signé. Par conséquent, ~x est équivalent à (-x) - 1.
A titre d'exemple, l'entier 5 en représentation binaire est 0101. L'application de l'opérateur ~ donnerait 1010, qui, lorsqu'il est interprété comme un entier signé, représente -6.
Au-delà des entiers, l'opérateur ~ a autres applications notables :
Booléens complémentaires :Le ~ L'opérateur peut annuler une valeur booléenne, en changeant True en False et vice versa.
Manipulation au niveau du bit : En conjonction avec d'autres opérateurs au niveau du bit (par exemple, &, ^), il permet des opérations complexes sur données binaires.
Indexation cyclique : L'opérateur ~ peut être utilisé avec des séquences pour effectuer des indexation, permettant aux indices négatifs de s'enrouler à l'extrémité opposée de la séquence.
Python prend en charge la surcharge d'opérateur pour les classes personnalisées. S'il est logique de définir une opération de complément pour une classe, cela peut être réalisé en implémentant la méthode invert.
Par exemple, dans le code suivant, la classe Foo définit un invert qui renvoie l'inverse de son instance :
class Foo: def __invert__(self): print('invert')
Appliquer l'opérateur ~ à une instance de Foo affichera ainsi 'inverser'.
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!