Ich sehe ein "Pipe" -Zeichen ( |
), das in einem Funktionsaufruf verwendet wird:
res = c1.create(go, come, swim, "", startTime, endTime, "OK", ax|bx)
Was bedeutet das Rohr ax|bx
?
python
pipe
bitwise-operators
alwbtc
quelle
quelle
Antworten:
Es ist ein bitweises ODER von ganzen Zahlen. Wenn beispielsweise einer oder beide von
ax
oderbx
sind1
, wird dies als1
, andernfalls als ausgewertet0
. Es funktioniert auch auf anderen Zahlen, zum Beispiel15 | 128 = 143
, das heißt00001111 | 10000000 = 10001111
in binär.quelle
or
man dann?True
oderFalse
,and
undor
immer wieder zurückkehrt einen ihrer Operanden, also „Koaleszenz“ und nicht als „logisch“.__or__
Methode des ersten Operanden mit dem zweiten Operanden aufgerufen, sodass Sie das Verhalten für Ihre eigenen Klassen definieren können.Dies ist auch der Union Set-Operator
set([1,2]) | set([2,3])
Dies führt zu
set([1, 2, 3])
quelle
Ja, alle obigen Antworten sind korrekt.
Obwohl Sie exotischere Anwendungsfälle für "|" finden könnten, wenn es sich um einen überladenen Operator handelt, der beispielsweise von einer Klasse verwendet wird,
https://github.com/twitter/pycascading/wiki#pycascading
input = flow.source(Hfs(TextLine(), 'input_file.txt')) output = flow.sink(Hfs(TextDelimited(), 'output_folder')) input | map_replace(split_words, 'word') | group_by('word', native.count()) | output
In diesem speziellen Anwendungsfall Pipe "|" Operator kann besser als Unix-Pipe-Operator gedacht werden. Ich stimme jedoch zu, dass bitweise Operatoren und Union Set-Operatoren weitaus häufigere Anwendungsfälle für "|" sind. in Python.
quelle
Bitweises ODER .
quelle
Es ist ein bitweises oder.
Die Dokumentation für alle Operatoren in Python finden Sie auf der Seite Index - Symbole der Python-Dokumentation.
quelle