【转】python "TypeError: 'NoneType' object is not iterable"错误分析

https://blog.csdn.net/dataspark/article/details/9953225

【解析】

    一般是函数返回值为None,并被赋给了多个变量。

【案例】

定义了如下的函数

def process():
    value = calc_val()    
    if condition(value):                                          
        return True, value;  

  

使用如下的调用时,会报错:"TypeError: 'NoneType' object is not iterable"

 flag, val = process()

TypeError: 'NoneType' object is not iterable  这个错误提示一般发生在将None赋给多个值时。

如 a,b,c,d = None

就会这样报错。

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

调用时,将None赋给 flag, val

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

【结论】

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

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

3. 在没有return语句时,python默认会返回None

============================= 好好学习 ==========================
> > > 1、咨询问题,请加作者微信: ren168632201
> > > 2、性能测试从0到实战: https://www.cnblogs.com/uncleyong/p/12311432.html
> > > 3、自动化测试实战: https://www.cnblogs.com/uncleyong/p/12016690.html
> > > 4、测试基础汇总: https://www.cnblogs.com/uncleyong/p/10530261.html
> > > 5、声明:如有侵权,请联系删除。
============================= 升职加薪 ==========================
原文地址:https://www.cnblogs.com/uncleyong/p/9324586.html