>\> 和 << 在 Python 中是什么意思?

新手上路,请多包涵

我注意到我可以做类似 2 << 5 得到 64 和 1000 >> 2 得到 250。

我也可以在 >> print

 print >>obj, "Hello world"

这里发生了什么?

原文由 user3201152 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 556
1 个回答

示例中的 >> 运算符用于两个不同的目的。在 C++ 术语中,此运算符被重载。在第一个示例中,它用作按位运算符( 右移),

 2 << 5  # shift left by 5 bits
        # 0b10 -> 0b1000000
1000 >> 2  # shift right by 2 bits
           # 0b1111101000 -> 0b11111010

而在第二种情况下,它用于输出重定向。您将它与文件对象一起使用,如下例所示:

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

>> 的第二次使用仅适用于 Python 2。在 Python 3 上,可以使用 file= 参数重定向 print() 的输出

with open('foo.txt', 'w') as f:
    print('Hello world', file=f)  # "Hello world" now saved in foo.txt

原文由 yosemite_k 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题