錯誤信息:
學習《機器學習實戰》這本書時,按照書上的代碼運行,產生了錯誤,但是在代碼中沒有錯誤提示,產生錯誤的代碼如下:
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:
此時運行就可以了。