Python報錯:AttributeError: type object 'str' has no attribute '_name_'(機器學習實戰treePlotter代碼)解決方案


錯誤信息:

學習《機器學習實戰》這本書時,按照書上的代碼運行,產生了錯誤,但是在代碼中沒有錯誤提示,產生錯誤的代碼如下:

if type(secondDict[key])._name_ == 'dict':

報錯如下:

AttributeError: type object 'str' has no attribute '_name_'

把錯誤信息翻譯一下:屬性錯誤:類型對象“ str ”沒有屬性“name”,

錯誤產生是因為版本不同,作者使用的是2.x版本,而我使用的是3.7.x版本。

解決方案

Python3中類型對象“ str ”沒有“_name_”屬性,所以我們需要將屬性去掉。除此之外,這句判斷的語句本來是判斷該節點類型是否為dict(字典),但是因為加上了單引號(‘’),就變成字符串了,這樣會產生其他錯誤,所以我們也需要將單引號去掉。

把錯誤代碼修改成如下:

if type(secondDict[key]) == dict:

此時運行就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM