python - 在 Python 2.7 中,为什么我要在其上调用方法时必须将 `int` 括在括号中?

标签 python

在 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/

相关文章:

python - IO错误 : [Errno 13] Permission denied How do I fix this?

python - 如何使用 SQLAlchemy 高效地进行批量插入或更新?

python - Python 描述符的 __set__ 可以用 instance = None 调用吗?

python - 迭代数据帧时引用上一行

python - Pyplot errorbar 一直将我的点与线连接起来?

python - 导入错误: cannot import name output

sorting - 重新排序由字典组成的列表的 Pythonic 方式是什么?

python - AWS Glue python 安装 - 找不到版本

python - 如何按递增顺序(按中值)对箱线图值进行排序?

python - 从原始文本中提取信息