Vertikale Balken in Python bitweise Zuweisungs-operator
Dort ist ein code-und-in-class' - Methode gibt es eine Zeile:
object.attribute |= variable
Kann ich nicht verstehen, was es bedeutet. Ich finde nicht (|=) in der Liste der basic-Python-Operatoren.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist ein
bitwise or
mit der Abtretung. Es entsprichtLesen mehr hier.
In python
|
ist kurzer hand für den Aufruf des Objekts__or__
Methode, wie man hier in den docs und dieses code Beispiel:Lassen Sie uns sehen, was passiert, wenn die Verwendung
|
Betreiber mit diesem generischen Objekt.Wie Sie sehen können die, die
__or__
- Methode aufgerufen wurde.int
, 'set', 'bool' alle haben eine Implementierung von__or__
. Für zahlen und bools, es ist ein Bitweises ODER. Für sets, es ist eine union. So kann je nach Typ des Attributs oder variable, das Verhalten wird anders sein. Viele der bitweisen Operatoren gesetzt haben-äquivalente, weitere Informationen finden Sie hier.Sollte ich hinzufügen, dass "bar-gleich" ist nun (im Jahr 2018) die meisten im Volksmund verwendet als set-operator union zum Anhängen von Elementen zu einer Menge, falls Sie es noch nicht.
Eines use-case, für diese, sagen wir, in der Verarbeitung natürlicher Sprache, zu extrahieren die kombinierte alphabet in mehreren Sprachen:
Für ein integer-dies entspräche Python ' s "bitweise oder" Methode. Also in dem Beispiel unten nehmen wir die bitweise oder-Verknüpfung 4 und 1 bis 5 (oder Binär 100 | 001 = 101):
Eher allgemein (als Alejandro sagt) ist der Aufruf ein Objekt oder Methode, die für eine Klasse definiert in der form:
So, in diesem besonderen Fall eine ganze Zahl, nennen wir die oder Methode, die sich auflöst, um eine bitweise oder-Verknüpfung, definiert durch Python.