Символ трубы в Python
Я вижу символ "pipe" (|
), используемый при вызове функции:
res = c1.create(go, come, swim, "", startTime, endTime, "OK", ax|bx)
В чем смысл трубы в ax|bx
?
Ответы
Ответ 1
Это побитовое ИЛИ целых чисел. Например, если один или оба из ax
или bx
равны 1
, это оценивается как 1
, в противном случае - 0
. Он также работает с другими целыми числами, например 15 | 128 = 143
, т.е. 00001111 | 10000000 = 10001111
в двоичном формате.
Ответ 2
Это также оператор объединения множеств
set([1,2]) | set([2,3])
Ответ 3
Побитовое ИЛИ.
Ответ 4
Да, все ответы выше правильные.
Хотя вы можете найти более экзотические варианты использования для "|" , если это перегруженный оператор, используемый классом, например,
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. Но я согласен, что бит-мудрый оператор и оператор объединения - гораздо более распространенные случаи использования для "|" в Python.
Ответ 5
Это поразрядное или.
Документацию для всех операторов в Python можно найти на странице Index - Symbols документации Python.