Jac*_*fin 263 python attributeerror nonetype
我不断收到错误消息
AttributeError: 'NoneType' object has no attribute 'something'
Run Code Online (Sandbox Code Playgroud)
我所拥有的代码太长了,无法在此发布,但我想知道是否有人可以给出一般情况会导致这种情况的要点AttributeError
,以及这NoneType
应该是什么意思?
通常,您会收到代码出错的某个对象的名称,但由于它给了AttributeError
我,我不确定如何缩小正在发生的事情,除了行号.
g.d*_*d.c 258
NoneType意味着你实际上得到的不是你认为你正在使用的任何类或对象的实例None
.这通常意味着上面的赋值或函数调用失败或返回意外结果.
kob*_*las 100
你有一个等于None的变量,你试图访问它的一个名为'something'的属性.
foo = None
foo.something = 1
Run Code Online (Sandbox Code Playgroud)
要么
foo = None
print foo.something
Run Code Online (Sandbox Code Playgroud)
两者都会产生一个 AttributeError: 'NoneType'
kin*_*all 46
其他人已经解释了什么NoneType
是结束它的常见方式(即,未能从函数返回值).
None
您不期望它的另一个常见原因是在可变对象上分配就地操作.例如:
mylist = mylist.sort()
Run Code Online (Sandbox Code Playgroud)
sort()
列表的方法就地对列表进行排序,mylist
即被修改.但是方法的实际返回值是None
而不是排序的列表.所以你刚刚分配None
给mylist
.如果您接下来尝试做,那么mylist.append(1)
Python会给您这个错误.
S.L*_*ott 16
这NoneType
是值的类型None
.在这种情况下,变量lifetime
的值为None
.
发生这种情况的常见方法是调用缺少a的函数return
.
但是,有无数种其他方法可以将变量设置为None.
PHI*_*OUS 12
请考虑以下代码.
def return_something(someint):
if someint > 5:
return someint
y = return_something(2)
y.real()
Run Code Online (Sandbox Code Playgroud)
这会给你错误
AttributeError:'NoneType'对象没有属性'real'
所以要点如下.
小智 7
if val is not None:
print(val)
else:
# no need for else: really if it doesn't contain anything useful
pass
Run Code Online (Sandbox Code Playgroud)
检查特定数据是否不为空或为空。
归档时间: |
|
查看次数: |
779405 次 |
最近记录: |