>> 1.real File "", line 1 1-6ren">
gpt4 book ai didi

python - 为什么 "1.real"是语法错误,但 "1 .real"在 Python 中有效?

转载 作者:IT老高 更新时间:2023-10-28 21:59:32 25 4
gpt4 key购买 nike

所以我看到了these two questions on twitter . 1.real 是语法错误,而 1 .real 不是?

>>> 1.real
File "<stdin>", line 1
1.real
^
SyntaxError: invalid syntax
>>> 1 .real
1
>>> 1. real
File "<stdin>", line 1
1. real
^
SyntaxError: invalid syntax
>>> 1 . real
1
>>> 1..real
1.0
>>> 1 ..real
File "<stdin>", line 1
1 ..real
^
SyntaxError: invalid syntax
>>> 1.. real
1.0
>>> 1 .. real
File "<stdin>", line 1
1 .. real
^
SyntaxError: invalid syntax

最佳答案

我猜 . 被贪婪地解析为数字的一部分,如果可能的话,使其成为 float 1.,而不是作为方法调用的一部分。

小数点周围不允许有空格,但在方法调用中,. 前后可以有空格。如果数字后跟一个空格,则终止数字的解析,所以它是明确的。

让我们看看不同的情况以及它们是如何解析的:

>>> 1.real    # parsed as (1.)real  -> missing '.'
>>> 1 .real # parsed as (1).real -> okay
>>> 1. real # parsed as (1.)real -> missing '.'
>>> 1 . real # parsed as (1).real -> okay
>>> 1..real # parsed as (1.).real -> okay
>>> 1 ..real # parsed as (1)..real -> one '.' too much
>>> 1.. real # parsed as (1.).real -> okay
>>> 1 .. real # parsed as (1)..real -> one '.' too much

关于python - 为什么 "1.real"是语法错误,但 "1 .real"在 Python 中有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31037609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com