所以我在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
Run Code Online (Sandbox Code Playgroud)
tob*_*s_k 55
我想这.是贪婪地解析为数字的一部分,如果可能的话,使其成为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
Run Code Online (Sandbox Code Playgroud)
kin*_*all 11
随着1.realPython是寻找一个浮点数字文字一样1.0,你不能有r一个浮动.使用1 .realPython 1作为整数,并在其上进行属性查找.
重要的是要注意浮点语法错误处理在.属性查找之前发生.
| 归档时间: |
|
| 查看次数: |
1834 次 |
| 最近记录: |