python nonetype報(bào)錯(cuò)千千萬,因人而異。這里交給大家一個(gè)通用的解決辦法:報(bào)這個(gè)錯(cuò)誤的原因,99%的問題是對(duì)象為None,所以我們?cè)趫?bào)錯(cuò)的地方。加一個(gè)判斷。再執(zhí)行相應(yīng)代碼
- if 變量 is None:
None、‘’、' '、0、False和空容器,都相于false,但是他們的類型是不一樣的,例如:
- a=0
- print('a的類型:',type(a))
- b=''
- print('b的類型:',type(b))
- c=[]
- print('c的類型:',type(c))
- d=False
- print('d的類型:',type(d))
- text=None
- print('None的類型:',type(text))
在Python中 None, False, 空字符串”“, 0, 空列表[], 空字典{}, 空元組()都相當(dāng)于False 。這里要注意雖然他們都是相當(dāng)于false,但是他們的類型是不一樣的,
- text=None
- print(type(text))
- if text is None:
- print('test is None ')
Nonetype 在python中是一個(gè)特殊的存在,該類型只能也只有一個(gè)值none,none表示為空或不存在的意思
Nonetype 特點(diǎn):不支持任何運(yùn)算,也沒有內(nèi)建方法
使用小?技巧:如果對(duì)象使用后不在使用了,可以設(shè)置為none,來提醒python垃圾回收系統(tǒng)來對(duì)該對(duì)象不在使用,可以進(jìn)行銷毀。python有自己的回收機(jī)制,這一點(diǎn)和c、c++語(yǔ)言不一樣,在 C、C++ 中,如果是通過代碼生成的對(duì)象,也需要通過代碼去銷毀。