亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python判斷變量是否是None寫(xiě)法代碼實(shí)例

瀏覽:4日期:2022-07-08 17:42:33

代碼中經(jīng)常會(huì)有變量是否為None的判斷,有三種主要的寫(xiě)法:

第一種是`if x is None`; 第二種是 `if not x:`; 第三種是`if not x is None`(這句這樣理解更清晰`if not (x is None)`) 。

如果你覺(jué)得這樣寫(xiě)沒(méi)啥區(qū)別,那么你可就要小心了,這里面有一個(gè)坑。先來(lái)看一下代碼:

>>> x = 1>>> not xFalse>>> x = [1]>>> not xFalse>>> x = 0>>> not xTrue>>> x = [0] # You don’t want to fall in this one.>>> not xFalse

在python中 None, False, 空字符串'', 0, 空列表[], 空字典{}, 空元組()都相當(dāng)于False ,即:

not None == not False == not ’’ == not 0 == not [] == not {} == not ()

因此在使用列表的時(shí)候,如果你想?yún)^(qū)分x==[]和x==None兩種情況的話(huà), 此時(shí)`if not x:`將會(huì)出現(xiàn)問(wèn)題:

>>> x = []>>> y = None>>> >>> x is NoneFalse>>> y is NoneTrue>>> >>> >>> not xTrue>>> not yTrue>>> >>> >>> not x is None>>> True>>> not y is NoneFalse>>>

也許你是想判斷x是否為None,但是卻把`x==[]`的情況也判斷進(jìn)來(lái)了,此種情況下將無(wú)法區(qū)分。

對(duì)于習(xí)慣于使用if not x這種寫(xiě)法的pythoner,必須清楚x等于None, False, 空字符串'', 0, 空列表[], 空字典{}, 空元組()時(shí)對(duì)你的判斷沒(méi)有影響才行。

而對(duì)于`if x is not None`和`if not x is None`寫(xiě)法,很明顯前者更清晰,而后者有可能使讀者誤解為`if (not x) is None`,因此推薦前者,同時(shí)這也是谷歌推薦的風(fēng)格

結(jié)論:

`if x is not None`是最好的寫(xiě)法,清晰,不會(huì)出現(xiàn)錯(cuò)誤,以后堅(jiān)持使用這種寫(xiě)法。

使用if not x這種寫(xiě)法的前提是:必須清楚x等于None, False, 空字符串'', 0, 空列表[], 空字典{}, 空元組()時(shí)對(duì)你的判斷沒(méi)有影響才行。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国模超大尺度私拍 | 国产成人精品一区二区免费视频 | 欧美影视一区 | 国产尻逼视频 | 久久精品亚洲精品国产色婷 | 色狠狠成人综合网 | 欧美毛片免费 | 国产成综合| 口国产成人高清在线播放 | 91无毒不卡 | 末成年一级在线看片 | 亚洲无av码一区二区三区 | 久久精品一区二区三区日韩 | 在线观看爱爱 | 久久精品视频16 | 2022色婷婷综合久久久 | 97精品国产 | 久九九久福利精品视频视频 | 性 色 黄 一级 | 尤物视频在线观看 | 亚洲国产精品v在线播放 | 老师的丰满大乳奶水视频 | 一级一毛片a级毛片 | 中文字幕 亚洲一区 | 黄在线观看免费 | 99久久精品免费看国产 | 国产羞羞视频在线观看 | 国产精品福利视频免费观看 | 一道本不卡免费视频 | 九色精品高清在线播放 | 亚洲欧洲国产综合 | 在线黄色观看 | 99热er| 350gao免费永久视频 | 欧美一级毛片无遮 | 91精品一区二区三区在线观看 | 国产毛片一区 | 特级毛片aaa免费版 特级毛片a级毛免费播放 | 日本免费黄色大片 | 亚洲另类在线视频 | 国产aⅴ自拍 |