数字中的下划线是什么意思?

新手上路,请多包涵

我想知道为什么将以下变量视为数字?

 a = 1_000_000
print (a)

1000000

不应该 print(a) 返回 1_000_000 吗?

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

阅读 1.3k
2 个回答

在 Python 3.6(和 PEP-515 )中,引入了一种新的大数字便利符号,它允许您在数字文字中划分数字组,以便更容易阅读。

使用示例:

 a = 1_00_00  # you do not need to group digits by 3!
b = 0xbad_c0ffee  # you can make fun with hex digit notation
c = 0b0101_01010101010_0100  # works with binary notation
f = 1_000_00.0
print(a,b,c,f)

10000

50159747054

174756

100000.0

 print(int('1_000_000'))
print(int('0xbad_c0ffee', 16))
print(int('0b0101_01010101010_0100',2))
print(float('1_000_00.0'))

1000000

50159747054

174756

100000.0

 A = 1__000  # SyntaxError: invalid token

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

为了方便起见,Python 允许您在数字中加上下划线。它们用于分隔数字组,很像非编程中的逗号。下划线在数字中完全被忽略,就像评论一样。所以这:

 x = 1_000_000

被解释为与此相同:

 x = 1000000

但是,您不能像这样将两个下划线紧挨着放置:

 x = 1__000__000 #SyntaxError

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

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