在Python 2.7中,当我想在其上调用方法时,为什么我必须在括号中包含`int`?

Bio*_*eek 6 python

在Python 2.7中,int当我想在其上调用方法时,为什么我必须用括号括起来?

>>> 5.bit_length()
SyntaxError: invalid syntax
>>> (5).bit_length()
3
Run Code Online (Sandbox Code Playgroud)

Tho*_*zco 7

这是一个解析器的特质.

当Python看到.它时,它开始寻找小数.你的小数是a b,所以失败了.

如果你这样做(5).bit_length(),那么Python将首先解析它之间的内容(),然后寻找bit_length方法.


如果你试试:

5..zzz
Run Code Online (Sandbox Code Playgroud)

你会得到AttributeError你期望的.这对整数不起作用:5.是浮点数.