[英]Why do I have to pass the self argument when I call a parent method in Python?
[英]in Python 2.7, why do I have to enclose an `int` in brackets when I want to call a method on it?
在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
将被解析为浮点数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.