查看: 1471|回复: 3

AttributeError: 'NoneType' object has no attribute 'something'

[复制链接]

11

主题

63

帖子

159

积分

注册会员

Rank: 2

积分
159
发表于 2018-9-18 18:46:12 | 显示全部楼层 |阅读模式
我不断收到错误消息
AttributeError: 'NoneType' object has no attribute 'something'
我的代码太长了,无法在此发布,但我想知道是否有人可以给出会导致AttributeError'的一般情况,以及'NoneType'应该是什么意思?

回复

使用道具 举报

11

主题

80

帖子

199

积分

注册会员

Rank: 2

积分
199
发表于 2018-9-18 18:47:09 | 显示全部楼层
你有一个等于None的变量,你试图访问它的一个名为'something'的属性。
foo = None
foo.something = 1
要么
foo = None
print foo.something
两者都会产生一个 AttributeError: 'NoneType'
回复

使用道具 举报

4

主题

11

帖子

39

积分

新手上路

Rank: 1

积分
39
发表于 2018-9-18 18:47:58 | 显示全部楼层
NoneType意味着你实际上得到的不是你认为正在使用的任何类或对象的实例None。这通常意味着上面的赋值或函数调用失败或返回意外结果。
回复

使用道具 举报

10

主题

72

帖子

180

积分

注册会员

Rank: 2

积分
180
发表于 2018-9-18 18:49:10 | 显示全部楼层
其他人已经解释了什么NoneType是结束它的常见方式(即,未能从函数返回值)。
None您不希望它的另一个常见原因是在可变对象上分配就地操作。例如:
mylist = mylist.sort()
sort()列表的方法就地对列表进行排序,即mylist修改。但是方法的实际返回值是None而不是排序的列表。所以你刚刚分配None到mylist。如果您接下来尝试运行mylist.append(1) Python会报你所给出的那个错误
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表