擅长:python、mysql、java
<p>您使用了<code>str</code>作为变量名。从而隐藏了内置的。
然后尝试在变量自己的定义中调用变量<code>str(i)</code></p>
<p>正如您刚才看到的,使用内置变量的名称是一个坏主意。它可能仅仅是为了用自己的版本替换内置的非常高级的目的</p>
<p>您可以在这里看到下面的简单示例<a href="http://ideone.com/z70iRn" rel="nofollow">http://ideone.com/z70iRn</a></p>
<pre><code>orig_str = str
def my_str(o):
print("str called")
return orig_str(o)
str = my_str
print(str(0))
</code></pre>