Python中str is not callable問題詳解及解決辦法
問題提出:
?? 在Python的代碼,在運行過程中,碰到了一個錯誤信息:
?? python代碼:
def check_province_code(province, country): num = len(province) while num <3: province = ''.join([str(0),province]) num = num +1 return country + province
? 運行的錯誤信息:
check_province_code('ab', '001') --------------------------------------------------------------------------- TypeError Traceback (most recent call last)in () ----> 1 check_province_code('ab', '001') in check_province_code(province, country) 3 4 while num <3: ----> 5 province = ''.join([str(0),province]) 6 num = num +1 7 TypeError: 'str' object is not callable
問題分析與排查:
?? 從錯誤信息分析, str不是一個可調用的對象,可是之前確實可以調用的,且在python的api文檔中,其是python內置的一個函數呀, 怎么不能用了呢?
?還是繼續驗證一下吧。
?? 在命令行下執行str(123),將數字轉換為string:
>>> str(1233) --------------------------------------------------------------------------- TypeError Traceback (most recent call last)in () ----> 1 str(1233) TypeError: 'str' object is not callable
?這下問題定義清楚了,原來沒有了str,仔細想了想原來剛才在定義變量的時候,隨機使用str,所以就被覆蓋了str函數。進行了類似以下的操作:
str = '123'
恢復默認的str函數
?? 重新啟動一下python應用,移除str被覆蓋的代碼部分即可。
總結
? 在python中內置了很多的函數和類,在自己定義變量的時候,切記不要覆蓋或者和他們的名字重復。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
