报错信息

学习《机器学习实战》这本书时,按照书上的代码运行,产生了错误,但是在代码中没有错误提示,产生错误的代码如下:

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

报错如下:

错误原因

首先我们先看一下报错:

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

翻译过来是:

属性错误:类型对象“ str ”没有属性“_name_”,

错误产生是因为版本不同,作者使用的是2.x版本,而我使用的是3.6版本。

 

解决方案

Python3中类型对象“ str ”没有“_name_”属性,所以我们需要将属性去掉。除此之外,这句判断的语句本来是判断该节点类型是否为dict(字典),但是因为加上了单引号(‘’),就变成字符串了,这样会产生其他错误,所以我们也需要将单引号去掉。

所以,将代码改为如下即可:

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

然后运行就可以啦!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐