我只能在将数字绑定到名称时调用它们的方法:
>>> a = 5
>>> a.bit_length()
3
我可以对字符串字面值调用方法:
>>> 'Hello World'.lower()
'hello world'
但是我不能在数字字面量上调用方法:
>>> 5.bit_length()
这会引发一个“语法错误(SyntaxError)”。这是有实际原因还是历史原因导致的呢? 编辑 刚刚发现这个相关问题,它展示了一些解决方法(这些方法在此处也已经被建议过)。我想这也回答了主要问题——由于存在简单的解决方法,使语法更加复杂(难以解析)以使其工作的好处可能不足。