有相关的博客还要写它的原因在于下面的博客讲了各自的重点。因此,我将深入刨析原因,以及导致该原因出现的几种问题!如果讲解清楚了,请点个赞哦☀️
参考博文:
- 《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值。
本文深入剖析了Python中'NoneType'对象引发的AttributeError,强调None作为唯一值的特性及其不支持任何运算和内建方法。报错原因通常是因为变量变为None,可能是文件读取错误或函数返回None。文中提供了定位问题、测试验证及解决方法,包括检查文件路径、函数返回值等,并给出了实例分析。
5万+

被折叠的 条评论
为什么被折叠?



