我读过python中的一切都是一个对象,因此我开始尝试不同的类型并调用 __str__
关于他们——起初我感到非常兴奋,但后来我感到困惑。
>>> "hello world".__str__()
'hello world'
>>> [].__str__()
'[]'
>>> 3.14.__str__()
'3.14'
>>> 3..__str__()
'3.0'
>>> 123.__str__()
File "<stdin>", line 1
123.__str__()
^
SyntaxError: invalid syntax
- 为什么
<em>something</em>.__str__()
为int
之外的“一切”工作? - 是
123
不是int
类型的 对象 ?
最佳答案
你需要括号:
(4).__str__()
问题是词法分析器认为“4”。将是一个 float 。
另外,这可行:
x = 4
x.__str__()
关于python - 访问文字上的属性适用于所有类型,但不适用于 `int` ;为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33054229/