Что делать >> и << означает в Python?

Двойное меньше и вдвое больше знаков.

Я замечаю, что могу сделать что-то вроде 2 << 5 чтобы получить 64 и 1000 >> 2 чтобы получить 250.

Также я могу использовать >> в печати

 print >>obj, "Hello world" 

Что здесь происходит?

4 Solutions collect form web for “Что делать >> и << означает в Python?”

Это операторы побитового сдвига.

Цитирование из документов :

 x << y 

Возвращает x с битами, сдвинутыми влево на y местами (и новые биты в правой части – это нули). Это то же самое, что умножить x на 2**y .

 x >> y 

Возвращает x с битами, сдвинутыми вправо на y местами. Это то же самое, что и деление x на 2**y .

Я думаю, что это важный вопрос, и он пока не ответил (ОП, похоже, уже знает о операторах смены). Позвольте мне попытаться ответить, оператор >> в вашем примере используется для двух разных целей. в терминах c ++ этот оператор перегружен. в первом примере он используется как побитовый оператор (сдвиг влево), а во втором сценарии он просто используется как перенаправление вывода. т.е.

 2 << 5 # shift to left by 5 bits 2 >> 5 # shift to right by 5 bits print >> obj, "Hello world" # redirect the output to obj, 

пример

 with open('foo.txt', 'w') as obj: print >> obj, "Hello world" # hello world now saved in foo.txt 

Это операторы сдвига

x << y Возвращает x с битами, сдвинутыми влево на y местами (а новые бит в правой части – это нули). Это то же самое, что умножить x на 2 ** y.

x >> y Возвращает x с битами, сдвинутыми вправо на y местами. Это то же самое, что и // 'ing x на 2 ** y.

Другой случай, связанный с print >>obj, "Hello World" – синтаксис «print chevron» для оператора print в Python 2 (удаляется в Python 3, заменяется аргументом file функции print() ). Вместо записи на стандартный вывод выходной сигнал передается в метод obj.write() . Типичным примером могут быть файловые объекты, имеющие метод write() . См. Ответ на более поздний вопрос: двойной знак больше, чем на Python .

  • Почему `letter ==" A "или" a "всегда оценивается как True?
  • Справка NoReverseMatch Exception в Django
  • Каковы эти нотации Python: `] * n` и` (i,) `
  • Можно ли получить список ключевых слов в Python?
  • Разбить линию python на несколько строк?
  • Python Script возвращает непреднамеренное «None» после выполнения функции
  • СинтаксисError возле "print"?
  • Синтаксические причуды или почему это допустимый питон
  • Python - лучший язык программирования в мире.