Maison > développement back-end > Tutoriel Python > Que fait l'opérateur Tilde (~) en Python ?

Que fait l'opérateur Tilde (~) en Python ?

Linda Hamilton
Libérer: 2024-11-30 11:09:10
original
657 Les gens l'ont consulté

What Does the Tilde (~) Operator Do in Python?

Comprendre l'opérateur Python Tilde

L'opérateur tilde (~) en Python est un opérateur unaire utilisé pour l'inverse ou la négation au niveau du bit. Il opère sur des entiers et renvoie le complément des bits d'entrée.

Utilisation pour les entiers

Lorsqu'il est appliqué à des entiers, l'opérateur tilde retourne tous les bits des deux- représentation complémentaire de l’entier. Le résultat est à nouveau interprété comme un entier complémentaire à deux. Cela rend ~x équivalent à (-x) - 1.

Par exemple :

>>> ~5
-6
Copier après la connexion

Utilisation de l'inversion pour les classes personnalisées

Le réifié La forme de l'opérateur ~ est Operator.invert. Les classes peuvent prendre en charge cet opérateur en implémentant une méthode __invert__(self).

Par exemple :

import operator

class Foo:
    def __invert__(self):
        print('invert')

x = Foo()
operator.invert(x)  # Prints 'invert'
~x  # Also prints 'invert'
Copier après la connexion

Cet opérateur peut être utile pour les classes où il est logique d'avoir un "complément" ou "inverse" d'une instance qui est également une instance de la même classe.

Supplémentaire Utilisations

Au-delà de l'inversion d'entier, l'opérateur tilde est parfois utilisé en combinaison avec le découpage de chaîne pour effectuer des tâches des deux côtés d'une chaîne ou d'une liste. Par exemple, il peut être utilisé pour vérifier si une chaîne est palindromique :

def is_palindromic(s):
    return all(s[i] == s[~i] for i in range(len(s) // 2))
Copier après la connexion

Dans l'ensemble, l'opérateur tilde est un outil polyvalent qui peut être utilisé à la fois pour l'inversion au niveau du bit et pour l'inversion de classe personnalisée en Python.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal