【转】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
__EOF__
本文作者:持之以恒(韧)
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!