在 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.
是一个 float 。
关于python - 在 Python 2.7 中,为什么我要在其上调用方法时必须将 `int` 括在括号中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20140606/