当前位置: 首页 > 面试题库 >

为什么“ 1.real”是语法错误,但“ 1.real”在Python中有效?

宰父远
2023-03-14
问题内容

所以我在推特上看到了这两个
问题。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中的Boolean是整数的子类型。从文档中: 布尔值是两个常量对象False和True。它们用于表示真值(尽管其他值也可以视为假或真)。在数字上下文中(例如

  • 本文向大家介绍shorts1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?相关面试题,主要包含被问及shorts1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?时的应答技巧和注意事项,需要的朋友参考一下 答: short s1 = 1; s1 = s1 + 1;有错,s1是short型,

  • 问题内容: 我知道解决了溢出问题:将两个大的正长添加在一起时,您可能最终得到一个负数。有人可以解释这种按位移位如何神奇地解决溢出问题吗?和它有什么不同? 我的怀疑:我认为这与Java使用两个补码的事实有关,因此,如果我们有额外的空间,则溢出是正确的数字,但是因为我们没有,所以它变为负数。因此,当您移位并以零进行划桨时,由于两个补全,它神奇地得到了固定。但是我可能是错的,大脑有点位的人必须确认。:)

  • 问题内容: 注意到今天在我们的代码库中有一行代码,我认为肯定会因语法错误而使构建失败,但是测试通过了,显然它实际上是有效的python(在2.x和3中)。 条件表达式有时不需要空格: 如果LHS是变量,则不起作用: 但是它似乎仍然可以与其他类型的文字一起使用: 这是怎么回事,出于某种原因,它是否有意成为语法的一部分?这个奇怪的怪癖是已知/记录的行为吗? 问题答案: 令牌之间的空白 除逻辑行的开头或

  • OpenHandX-Real是一个小巧的JDBC轻量级封装的持久化工具包,其核心的特性是查询结果集、以及增、删、改、按主键查询的封装。可以直接将查询出来的结果集封装成JavaBean,维护表数据时自动匹配字段和数据类型,这就为开发者做了最枯燥乏味、最容易出错的工作。还提供了spring的支持,由spring统一管理数据库事务。除此之外还提供一些常用应用工具类,如:树型结构类、枚举常量类、业务日志类