Что означает этот оператор трубы в Python 3.x? [Дубликат]

В моем случае это была опечатка, я забыл обратную косую черту и неправильно ссылался на источник.

До src="/scripts/jquery.js"

После & nbsp; & nbsp; src="scripts/jquery.js"

50
задан Johannes Weiss 5 March 2012 в 01:41
поделиться

5 ответов

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

49
ответ дан Marc Mutz - mmutz 28 August 2018 в 01:05
поделиться
10
ответ дан Ignacio Vazquez-Abrams 28 August 2018 в 01:05
поделиться

Это также оператор объединения множеств

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

. Это приведет к set([1, 2, 3])

84
ответ дан Jean-François Corbett 28 August 2018 в 01:05
поделиться

Да, все ответы выше правильны.

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

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.

8
ответ дан Tagar 28 August 2018 в 01:05
поделиться

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

Документацию для всех операторов в Python можно найти на странице Index - Symbols документации Python.

4
ответ дан tzot 28 August 2018 в 01:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: