【解析】
這個錯誤提示一般發生在將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
知識要大家一起分享,但帶上原文鏈接是對作者的尊重。