Символ трубы в Python


Я вижу символ "труба" (|) используется в вызове функции:

res = c1.create(go, come, swim, "", startTime, endTime, "OK", ax|bx)

что означает труба в ax|bx?

5 53

5 ответов:

это побитовое или целых чисел. Например, если один или оба ax или bx are 1, это оценивается как 1, иначе 0. Он также работает с другими целыми числами, например 15 | 128 = 143, т. е. 00001111 | 10000000 = 10001111 в двоичной системе.

Это также оператор union set

set([1,2]) | set([2,3])

в результате set([1, 2, 3])

Да, все ответы выше верны.

хотя можно найти и более экзотические варианты использования для "|", Если это перегруженный оператор, используемый классом, например,

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

в этом конкретном случае использования оператор pipe " / " можно лучше рассматривать как оператор Unix pipe. Но я согласен, битовый оператор и оператор union set являются гораздо более распространенными случаями использования Для " | " в Питон.

Это побитовое или.

документация для всех операторов в Python можно найти в - Символами на странице документации по языку Python.