为什么在调用方法时需要将文字括在括号中?

Why do I need to enclose a literal in parentheses while invoking a method?

没有()

42.__abs__()
  File "<ipython-input-43-9690433aefe5>", line 1
    42.__abs__()
             ^
SyntaxError: invalid syntax

有()

(42).__abs__()
42

这里需要()的原因是什么?

42. 将被解析器解释为浮点数 42.0。因此,. 未被识别为实例与其方法之一之间的连接器。 Python 正确地抱怨在 float 之后有一些变量名,因为那是无效的语法。