当前位置: 首页 > 科技观察

Python 判断变量是否是 None 的三种写法

时间:2023-03-12 16:51:18 科技观察

Python判断变量是否为None的三种写法三种是ifnotxisNone(ifnot(xisNone)这句话更清楚)。如果你觉得这样写没什么区别,那你就要小心了,这里面有坑。先看代码:>>>x=1>>>notxFalse>>>x=[1]>>>notxFalse>>>x=0>>>notxTrue>>>x=[0]>>>notxFalse复制代码None,False,空字符串"",0,空列表[],空字典{},空元组()在python中相当于False,即:notNone==notFalse==not''==not0==not[]==not{}==not()复制代码所以在使用list的时候,如果要区分x==[]和x==None,那么ifnotx:就会有问题:>>>x=[]>>>y=None>>>>>>xisNoneFalse>>>yisNoneTrue>>>>>>>>notxTrue>>>notyTrue>>>>>>>>>>notxisNone>>>True>>>notyisNoneFalse>>>复制代码也许你要判断x是否为None,但是你还要判断x==[]的大小写,这样的话就无法区分了。对于习惯使用ifnotx的pythoner来说,一定要清楚x等于None、False、空字符串""、0、空列表[]、空字典{}、空元组().影响力就可以了。至于ifxisnotNone和ifnotxisNone,前者显然更清楚,而后者可能会把读者误认为if(notx)isNone,所以推荐前者,这也是推荐的风格结论谷歌:如果x不是None是最好的写法,很清楚不会出错,以后会坚持这种写法。使用ifnotx的前提是:必须清楚x等于None,False,空字符串"",0,空列表[],空字典{},空元组()会有对你的判断没有影响。好的。