Python教程

Python报错:AttributeError: type object 'str' has no attribute '_name_'(机器学习实战treeP

本文主要是介绍Python报错:AttributeError: type object 'str' has no attribute '_name_'(机器学习实战treeP,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

错误信息:

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

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:

此时运行就可以了。

这篇关于Python报错:AttributeError: type object 'str' has no attribute '_name_'(机器学习实战treeP的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!