您现在的位置是:亿华云 > 系统运维
Python 判断变量是否是 None 的三种写法
亿华云2025-10-09 08:50:35【系统运维】8人已围观
简介代码中经常会有变量是否为None的判断,有三种主要的写法:第一种是 if x is None ; 第二种是 if not x: ; 第三种是 if not x is Non
代码中经常会有变量是判断否为None的判断,有三种主要的变量写法:
第一种是 if x is None ; 第二种是 if not x: ; 第三种是 if not x is None (这句这样理解更清晰 if not (x is None) ) 。如果你觉得这样写没啥区别,否N法那么你可就要小心了,种写这里面有一个坑。判断先来看一下代码:
>>> x = 1 >>> not x False >>> x = [1] >>> not x False >>> x = 0 >>> not x True >>> x = [0] >>> not x False 复制代码在python中 None,变量 False, 空字符串"", 0, 空列表[], 空字典{ }, 空元组()都相当于False ,即:
not None == not False == not == not 0 == not [] == not { } == not () 复制代码因此在使用列表的否N法时候,如果你想区分 x==[] 和 x==None 两种情况的站群服务器种写话, 此时 if not x:将会出现问题:
>>> x = [] >>> y = None >>> >>> x is None False >>> y is None True >>> >>> >>> not x True >>> not y True >>> >>> >>> not x is None >>> True >>> not y is None False >>> 复制代码也许你是想判断x是否为None,但是判断却把 x==[] 的情况也判断进来了,此种情况下将无法区分。变量
对于习惯于使用if not x这种写法的否N法pythoner,必须清楚x等于None,种写 False, 空字符串"", 0, 空列表[], 空字典{ }, 空元组()时对你的判断没有影响才行。
而对于 if x is 判断not None 和 if not x is None 写法,很明显前者更清晰,变量而后者有可能使读者误解为 if (not x) is 否N法None ,企商汇因此推荐前者,同时这也是谷歌推荐的风格
结论:
if x is not None 是最好的写法,清晰,不会出现错误,以后坚持使用这种写法。
使用 if not x 这种写法的前提是:必须清楚x等于None, False, 空字符串"", 0, 空列表[], 空字典{ }, 空元组()时对你的判断没有影响才行。
云服务器很赞哦!(5167)
热门文章
站长推荐
2、根据用户基础选择访问提供程序。由于互联问题的存在,接入商的选择也非常重要,如果用户群主要在联通,尽量选择联通接入较好的接入商,如果用户群主要在电信,那么选择电信接入较好的接入商。如果用户组位于国家/地区,则选择更好的访问提供程序进行交互。
新手认知中的pw域名是怎样的?大家怎么看待pw域名?
新手怎么获得网络域名?有什么方面需要知道?
为什么三杂域名都跻身价值行列?三杂域名真的好吗?
4、域名传输时,取决于域名原始用户的邮箱是否有效,以及他是否将密码发送到此邮箱。
宝洁公司拥有什么极品域名?盘点宝洁公司域名那些事
新企业更换域名应该怎么做?有哪些细节需要注意?
三拼域名有市场吗?盘点三拼域名有哪些融资的终端?