下划线表示什么?

时间:2019-01-02 16:24:46

标签: python python-3.x

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

a = 1_000_000
print (a)
  

1000000

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

3 个答案:

答案 0 :(得分:24)

在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

答案 1 :(得分:3)

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

x = 1_000_000

被解释为与此相同:

x = 1000000

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

x = 1__000__000 #SyntaxError

答案 2 :(得分:3)

在英语国家中,逗号通常用作千位分隔符,而在许多其他国家/地区中,句点用作千位分隔符。考虑到不同的约定,以及在逗号中逗号和句点都用于Python中的其他事实,因此决定使用下划线作为分隔符。