有相关的博客还要写它的原因在于下面的博客讲了各自的重点。因此,我将深入刨析原因,以及导致该原因出现的几种问题!如果讲解清楚了,请点个赞哦☀️
参考博文:
《AttributeError: ‘NoneType’ object has no attribute……错误分析》《【报错分析】AttributeError: ‘NoneType’ object has no attribute ‘xxx’》《成功解决AttributeError: ‘NoneType’ object has no attribute ‘find_all’》 翻译:错误属性:“nonetype”对象没有'xxx'属性
一、Nonetype
类型
见博客《特殊类型NoneType》
要点:
NoneType类型只有一个值None
.
Nonetype
类型不支持任何运算也没有内建方法
二、报错的原因
前面讲到Nonetype
类型只有一个None
,反推也就是出现问题的语句中,含有了None
这个变量。而根据前面知道,None
是没有任何内建方法的,从而也就没有了任何属性。
定位:这是我的代码中的报错,在于第14行
测试: 将变量model直接替换为None
可以看到报错的原因,可以说一摸一样!验证:我将model
的类型打印出来 ,
结论: 不知什么原因,model
这个变量变为了None
三、查找变量为None
的原因
变量为None
的原因常常在于…
3.1 读取文件中的数据不成功~~文件路径不正确
目前,我能想到的读取数据不成功的原因只有一个就是文件路径不正确。下面上一些案例以及验证方法!亦可以查看《FileNotFoundError: [Errno 2] No such file or directory》
文件路径中的文件夹名称错误文件名路径中的特殊符号的中英文错误文件名的格式后缀错误,比如.png
–>,jpg
检验方法:
os.path.exists(filepath)
相对路径的使用中…
./
和../
使用错误 检验方法:
os.getcwd()
获得当前python的工作路径
获取绝对路径的方法…
法一:
法二:
提醒:两种方法在文件路径和文件名拼接的时候都要加\
3.2 函数返回None值
在一些自定义函数中,会出现返回None的情况。如下,我自定义了一个函数。
def fun(x):if isinstance(x,str) :return x else:return None
含义:如果xs是字符串类型,则返回x;如果不是,则返回None值。
如果觉得《[报错]深析AttributeError: ‘NoneType‘ object has no attribute ‘xxx‘(持更)》对你有帮助,请点赞、收藏,并留下你的观点哦!