【发布时间】:2017-07-05 14:01:48
【问题描述】:
对于字符串文字,比如说foo,如果我想通过调用这个字符串的__repr__ 来获得它的repr,我要做的就是:
>>> 'foo'.__repr__()
"'foo'"
这也有效:
>>> ('foo').__repr__()
"'foo'"
floats 也是这样:
>>> 1.0.__repr__()
'1.0'
>>> (1.0).__repr__()
'1.0'
但是当涉及到整数时,情况就不一样了。尝试在没有先应用括号的情况下调用 __repr__ 会引发错误
>>> 1.__repr__()
File "<stdin>", line 1
1.__repr__()
^
SyntaxError: invalid syntax
但是,当我应用括号时,它可以工作:
>>> (1).__repr__()
'1'
那么,为什么整数需要括号?
【问题讨论】:
-
因为 1. 是浮点数 1.0 吗?为了避免混淆?
-
因为
1.是一个浮点常量。
标签: python