Почему логические or и | работаю по разному?

Почему логические or и | работаю по разному? Вот собственно и весь вопрос.

In [1]: 5 or 15
Out[1]: 5

In [1]: 5 | 15
Out[2]: 15

И было бы здорово, чтобы кто объяснил смысл такого кодирования этих операций. А то не знаю, что сказать ученикам ))


Ответы (1 шт):

Автор решения: nomnoms12

| — это оператор побитового ИЛИ.

Результат получается путём применения ИЛИ попарно к битам переданных чисел:

0101
1111
____
1111 = 15
→ Ссылка