python 中的下划线对整数/浮点数有什么作用?

What does the underscore do in python with integers / floats?

您好,我不小心输入了以下代码,我认为它会导致一些语法错误。但是 Python (3.8) 正常执行并且似乎连接了整数?

>>> 1_2
12

>>> 1.0_1.0
SyntaxError: invalid syntax

>>> 1.0_11
1.011

>>> 11_1.0
111.0

_ 究竟在做什么,人们什么时候使用它? 下划线操作的正确术语是什么?它不是运营商,不是吗?由于以下语法不起作用:

>>> 1_ 1
SyntaxError: invalid syntax

>>> 1 _1
SyntaxError: invalid syntax

>>> 1 _ 1
SyntaxError: invalid syntax

它是在 PEP-515 中添加的:https://www.python.org/dev/peps/pep-0515/

它的存在是为了让大数字更容易阅读。 Python 本身不使用它。

例如:

1000000

1_000_000

在第二种情况下更容易判断这个数字是一百万。 _ 的作用就像逗号 , 在日常数字中的作用一样。 (分隔符不能是 , 本身,因为那样会创建一个元组)