Я не уверен, что означает вышеуказанное выражение в Python. Был ли какой-то поиск Google, но все еще ничего. Значение l равно 12.Значение l = (2 << 2 | 3 << 2) в Python
Цените свою помощь.
Я не уверен, что означает вышеуказанное выражение в Python. Был ли какой-то поиск Google, но все еще ничего. Значение l равно 12.Значение l = (2 << 2 | 3 << 2) в Python
Цените свою помощь.
Это просто немного операторов сдвига и бинарный OR, означающих
2 << 2 # shift 2 which is 0b00010 left by two positions
3 << 2 # shift 3 which is 0b00011 left by two positions
(2 << 2 | 3 << 2) take OR of these values
Вы также можете добавить что-то о приоритете * оператора *. – usr2564301
Они побитовая операция. (, Shifting operations)
Если вы представляете числа в двоичном формате, было бы легче понять.
>>> bin(2)
'0b10'
>>> bin(3)
'0b11'
>>> bin(2 << 2) # << : Shift left
'0b1000'
>>> bin(3 << 2)
'0b1100'
>>> bin(2 << 2 | 3 << 2)
'0b1100'
>>> int('1100', 2)
12
Вы знаете, что означают отдельные операторы? – usr2564301
побитовые операции, читайте о них. – Maroun
@ user3001408, потому что они объясняются в любом списке операторов Python (например, сначала Google ударил: http://www.tutorialspoint.com/python/python_basic_operators.htm)? – jonrsharpe