python空值判断方式(if xxx和if xxx is None的区别及说明)
作者:Urmsone 时间:2022-04-01 20:18:42
if xxx 和if xxx is None的区别
一、 if xxx
None,’’,0,[],{},() ,False都被判断为空值(not xxx等价)
如下代码输出所示,
if __name__ == '__main__':
print("---not None == (not '') == (not 0) == (not []) == (not {}) == (not ()) == (not False)---")
print(not None == (not '') == (not 0) == (not []) == (not {}) == (not ()) == (not False))
输出
---not None == (not '') == (not 0) == (not []) == (not {}) == (not ()) == (not False)---
True
if xxx
如下代码输出所示,
if __name__ == '__main__':
print("---output a,b---")
a = []
b = None
print("a=[]")
print("b=None")
print("--- if x")
if a:
print("a")
else:
print("None")
if b:
print("b")
else:
print("None")
输出
---output a,b---
a=[]
b=None
--- if x
None
None
结论:
将空列表换成上述的其他空类型,结果一样。
如果需要过滤None值和空对象时(如[],{},''等),可使用这种写法
二、 if xxx is None
该写法可将None和其他空值对象区分开来
如下代码输出所示:
if __name__ == '__main__':
a = []
b = None
print("a=[]")
print("b=None")
print("--- is None")
if a is None:
print("None")
else:
print("a")
if b is None:
print("None")
else:
print("b")
输出
---output a,b---
a=[]
b=None
--- is None
a
None
结论:
需要区分[],{},'',()等空值对象与None的区别时时可使用这种写法
贴下简单的测试代码
if __name__ == '__main__':
print("---not None == (not '') == (not 0) == (not []) == (not {}) == (not ()) == (not False)---")
print(not None == (not '') == (not 0) == (not []) == (not {}) == (not ()) == (not False))
print("---output a,b---")
a = []
b = None
print("a=[]")
print("b=None")
print("--- if x")
if a:
print("a")
else:
print("None")
if b:
print("b")
else:
print("None")
print("--- is None")
if a is None:
print("None")
else:
print("a")
if b is None:
print("None")
else:
print("b")
print("--- not")
if not a:
print("None")
else:
print("a")
if not b:
print("None")
else:
print("b")
print("--- is not None")
if a is not None:
print("a")
else:
print("None")
if b is not None:
print("B")
else:
print("None")
来源:https://blog.csdn.net/Urms_handsomeyu/article/details/103350227
标签:python,空值,判断
0
投稿
猜你喜欢
MySQL 数据类型和建库策略
2024-01-20 12:32:40
语义化你的HTML标签和属性
2008-06-12 13:18:00
怎么样用xmlhttp读取远程xml的数据
2008-10-11 13:52:00
基于Python实现通过微信搜索功能查看谁把你删除了
2022-07-10 00:19:37
php多任务程序实例解析
2023-11-18 00:22:09
Django 删除upload_to文件的步骤
2022-03-23 05:47:14
Django实现在线无水印抖音视频下载(附源码及地址)
2021-07-09 11:24:43
linux CentOS 7.4下 mysql5.7.20 密码改回来的处理方法
2024-01-25 17:36:56
django的model操作汇整详解
2022-05-16 03:59:46
asp.net mvc4 mysql制作简单分页组件(部分视图)
2024-01-27 17:56:36
Python实现RSA加密解密
2022-04-22 19:07:41
Python使用淘宝API查询IP归属地功能分享
2021-02-11 20:37:29
Python之两种模式的生产者消费者模型详解
2021-07-31 17:44:02
vue中英文切换实例代码
2024-05-29 22:29:37
深入理解Vue的数据响应式
2024-05-09 09:39:15
SQL-ORDER BY 多字段排序(升序、降序)
2024-01-28 05:25:55
js+CSS实现弹出居中背景半透明div层的方法
2024-04-18 10:52:51
Python 学习教程之networkx
2023-10-11 01:49:07
pyqt5蒙版遮罩mask,setmask的使用
2022-04-05 21:00:58
asp检测是否为中文字符函数
2011-04-07 11:19:00