在Python2.7中,当我想调用一个方法时,为什么必须将“int”括在方括号中



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

>>> 5.bit_length()
SyntaxError: invalid syntax
>>> (5).bit_length()
3

这是一个解析器特性。

当Python看到.时,它开始寻找小数。您的小数是b,因此失败。

如果执行(5).bit_length(),Python将首先解析()之间的内容,然后查找bit_length方法。


如果你尝试:

5..zzz

你会得到你期望的AttributeError。不过,这对整数不起作用:5.是一个浮点值。

因为5.something将被解析为浮点数。

最新更新