爲什麼這給我一個錯誤?古怪調用str()將整數轉換爲Python 3中的字符串?
>>> variable = str(21)
Traceback (most recent call last):
File "<pyshell#101>", line 1, in <module>
variable = str(21)
TypeError: 'str' object is not callable
爲什麼這給我一個錯誤?古怪調用str()將整數轉換爲Python 3中的字符串?
>>> variable = str(21)
Traceback (most recent call last):
File "<pyshell#101>", line 1, in <module>
variable = str(21)
TypeError: 'str' object is not callable
單獨的代碼不會給你一個錯誤。舉例來說,我只是嘗試這樣做:
~ $ python3.2
>>> variable = str(21)
>>> variable
'21'
某處在你的代碼你定義一個str =
別的東西,掩蓋的str
內置的定義。刪除它,你的代碼將正常工作。
因爲你可能已經通過調用自己的變量str
覆蓋的str
功能。
我想你可能是對的。我關閉了我的IDLE會話(其中有很多早期的代碼示例是我在線發現的),現在我可以正確使用內置的str函數。其中一個較早的代碼示例必須對BIF str()做一些古怪的事情。謝謝! – blueplastic
你是否給變量命名爲「str」? – geoffspear
您是否定義了另一個字符串變量並將其分配給一個變量'str'?因爲這樣做最終會影響內建函數'str()',例如:'str ='test';打印(STR(124))'。 – mouad
downvotes錯位。學習時,我們中的大多數人都會蒙上陰影。用'list = [...]'看看那裏有多少個代碼示例。我更新了這個問題的標題。 – smci