Python报错:AttributeError: type object 'str' has no attribute '_name_'(机器学习实战treePlotter代码)解决方案 野性酷女 2021-06-11 15:14 558阅读 0赞 # 报错信息 # 学习《机器学习实战》这本书时,按照书上的代码运行,产生了错误,但是在代码中没有错误提示,产生错误的代码如下: if type(secondDict[key])._name_ == 'dict': 报错如下: ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NodWl5aXhpbg_size_26_color_F2122F_t_70][] # 错误原因 # 首先我们先看一下报错: > AttributeError: type object 'str' has no attribute '\_name\_' 翻译过来是: > 属性错误:类型对象“ str ”没有属性“\_name\_”, 错误产生是因为版本不同,作者使用的是2.x版本,而我使用的是3.6版本。 # 解决方案 # **Python3中类型对象“ str ”没有“\_name\_”属性,所以我们需要将属性去掉。除此之外,这句判断的语句本来是判断该节点类型是否为dict(字典),但是因为加上了单引号(‘’),就变成字符串了,这样会产生其他错误,所以我们也需要将单引号去掉。** 所以,将代码改为如下即可: if type(secondDict[key]) == dict: 然后运行就可以啦! [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NodWl5aXhpbg_size_26_color_F2122F_t_70]: /images/20210516/f30059afa1a94c908e572b74ff15bbab.png
还没有评论,来说两句吧...