Я бачу символ "pipe" ( |
), який використовується у виклику функції:
res = c1.create(go, come, swim, "", startTime, endTime, "OK", ax|bx)
Що означає труба в ax|bx
?
Відповіді:
Це побітове АБО цілих чисел. Наприклад, якщо один або обидва ax
або bx
є 1
, це оцінює 1
, а в іншому випадку - 0
. Він також працює з іншими цілими числами, наприклад 15 | 128 = 143
, тобто 00001111 | 10000000 = 10001111
в двійковому.
5 = 101
, 7 = 111
,101 | 111 = 111 = 7
True
або False
, and
і or
завжди повертають один з операндів, отже , «зливаючись» , а не «логічно».
__or__
метод першого операнда з другим операндом, тому ви можете визначити його поведінку для власних класів.
Так, усі відповіді вище є правильними.
Хоча ви можете знайти більш екзотичні випадки використання "|", якщо це перевантажений оператор, який використовується класом, наприклад,
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
У цьому конкретному випадку використання труба "|" Оператора можна краще розглядати як оператора Unix pipe. Але я погоджуюсь, що бітовий оператор та оператор наборів об'єднань набагато частіше використовуються для "|" в Python.
Це побітове або.
Документацію для всіх операторів Python можна знайти на сторінці Індекс - Символи документації Python.