Python問題:'Nonetype' object is not iterable


【解析】

這個錯誤提示一般發生在將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

知識要大家一起分享,但帶上原文鏈接是對作者的尊重。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM