Heim > Backend-Entwicklung > Python-Tutorial > Was macht der Tilde-Operator (~) in Python?

Was macht der Tilde-Operator (~) in Python?

Linda Hamilton
Freigeben: 2024-11-30 11:09:10
Original
659 Leute haben es durchsucht

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

Den Python-Tilde-Operator verstehen

Der Tilde-Operator (~) in Python ist ein unärer Operator, der zur bitweisen Umkehrung oder Negation verwendet wird. Er arbeitet mit Ganzzahlen und gibt das Komplement der Eingabebits zurück.

Verwendung für Ganzzahlen

Bei Anwendung auf Ganzzahlen dreht der Tildeoperator alle Bits der Zweier um. Komplementdarstellung der ganzen Zahl. Das Ergebnis wird wiederum als Zweierkomplement-Ganzzahl interpretiert. Dies macht ~x äquivalent zu (-x) - 1.

Zum Beispiel:

>>> ~5
-6
Nach dem Login kopieren

Inversion für benutzerdefinierte Klassen verwenden

Die Verdinglichung Die Form des ~-Operators ist „operator.invert“. Klassen können diesen Operator unterstützen, indem sie eine __invert__(self)-Methode implementieren.

Zum Beispiel:

import operator

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

x = Foo()
operator.invert(x)  # Prints 'invert'
~x  # Also prints 'invert'
Nach dem Login kopieren

Dieser Operator kann für Klassen nützlich sein, bei denen es sinnvoll ist, ein „Komplement“ oder zu haben „Umgekehrt“ einer Instanz, die auch eine Instanz derselben Klasse ist.

Zusätzlich Verwendungen

Über die Integer-Inversion hinaus wird der Tilde-Operator manchmal in Kombination mit String-Slicing verwendet, um Aufgaben auf beiden Seiten einer Zeichenfolge oder Liste auszuführen. Beispielsweise kann er verwendet werden, um zu überprüfen, ob eine Zeichenfolge palindromisch ist:

def is_palindromic(s):
    return all(s[i] == s[~i] for i in range(len(s) // 2))
Nach dem Login kopieren

Insgesamt ist der Tilde-Operator ein vielseitiges Werkzeug, das sowohl für die bitweise Inversion als auch für die benutzerdefinierte Klasseninversion in Python verwendet werden kann.

Das obige ist der detaillierte Inhalt vonWas macht der Tilde-Operator (~) in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage