python报错------NoneType’ object is not iterable

参考链接:https://blog.csdn.net/weixin_43646491/article/details/84288750

Type错误:“NoneType”对象不是可迭代的
一般出现在

  1. 将None返回给了多个值

  2. 遍历的对象为None
    例 : item = None
    for i in item:
    print(i)

解决 :加判断item是否为None即可


【解析】
这个错误提示一般发生在将None赋给多个值时。

【案例】
定义了如下的函数
def test():
       if value == 1:
              a = b = 1
              return a,b

value = 0
a,b = test()

执行这段测试程序会报错:"TypeError: 'NoneType' object is not iterable"

这里是没有考虑到else的情况,在if条件不满足时,函数默认返回None。

调用时,将None赋给 a,b

等价于 a,b = None

就出现了这样的错误提示。

【结论】
1. 将None赋给多个值时,会出现提示:TypeError: 'NoneType' object is not iterable

2. 函数返回值一定要考虑到条件分支的覆盖

3. 在没有return语句时,python默认会返回None
————————————————
版权声明:本文为CSDN博主「Dean0Winchester」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38906523/article/details/81040216

你可能感兴趣的:(Error,报错)