python如何判断为空_python中怎么判断是否为空
其中None的特殊之处在于,它既不是数值0,也不是某个数据结构的空值,它本身就是一个空值对象。它的类型是NoneType,它遵循单例模式,也就是说,在同一命名空间下的所有None其实质上都是同一个空值对象。>>> id(None)
1795884240
>>> None == 0
False
>>> None == ''
False
>>> a = None
>>> id(a)
1795884240
>>> a == None
True
上面的判断显然不符合我们的期望:只有当a被显示赋值为None的情况下,a==None才为True。
那么,对于Python中更为广义的None值判断,我们应该怎么做呢?>>> a = '' #这里仅以空字符串为例,其他空值同样适用
>>> if a:
... print 'a is not empty'
... else:
... print 'a is a empty string'
'a is a empty string.'
可以看出,if a的判断方式得出了我们想要的结果,那么if a的判断方式究竟是一个怎样的过程呢?
if a会首先去调用a的__nonzero__()去判断a是否为空,并返回True/False,若一个对象没有定义__nonzero__(),就去调用它的__len__()来进行判断(这里返回值为0代表空),若某一对象没有定义以上两种方法,则if a的结果永远为True
接下来验证一下上面的说法:>>>class A(object):
... def __nonzero__(self):
... print 'running on the __nonzero__'
... return True
>>>class B(object):
... def __len__(self):
... print 'running on the __len__'
... return False
>>> a, b = A(), B()
>>>if a:
... print 'Yep'
... else:
... print 'Nop'
running on the __nonzero__
Yep
>>>if b:
... print 'Yep'
... else:
... print 'Nop'
running on the __len__
Nop
python如何判断为空_python中怎么判断是否为空相关推荐
- python中遍历字典判断是否存在_python中如何判断值在不在字典中
python中判断值在不在字典中的方法:我们可以通过for循环来进行判断.在python中for循环可以遍历任何序列的项目.语法结构:[for iterating_var in sequence:st ...
- python 检查文件是否存在_Python中如何判断文件是否存在?
这里介绍三种判断文件或文件夹是否存在的方法,分别使用os模块.Try语句.pathlib模块. 1.使用os模块 os模块中的os.path.exists()方法用于检验文件是否存在. import ...
- python判断最后一行_python中如何判断文件的最后一行是空行?
问题: 前两天遇到一个问题,比如dat和bcp文件的格式需要最后一行一定是空行.但是用python怎么也不能读到最后一行的空行. test1: file_obj = open(file_name) a ...
- python检查列表是否为空_Python 中判断列表是否为空的方法
在判断列表是否为空时,你更喜欢哪种方式?决定因素是什么? 在 Python 中有很多检查列表是否是空的方式,在讨论解决方案前,先说一下不同方法涉及到的不同因素. 我们可以把判断表达式可以分为两个阵营: ...
- python函数参数类型检查_Python中实现参数类型检查的简单方法
Python是一门弱类型语言,很多从C/C++转过来的朋友起初不是很适应.比如,在声明一个函数时,不能指定参数的类型.用C做类比,那就是所有参数都是void*类型!void类型强制转换在C++中被广泛 ...
- java map 为空_java中如何判断map是否为空
java中判断map是否为空的方法是:可以利用isEmpty()函数来判断.isEmpty()函数是java中用于判断某种容器是否有元素的系统库函数,例如用来判断ArrayList.HashSet.H ...
- python反爬虫与绕过_python中绕过反爬虫的方法总结
我们在登山的途中,有不同的路线可以到达终点.因为选择的路线不同,上山的难度也有区别.就像最近几天教大家获取数据的时候,断断续续的讲过header.地址ip等一些的方法.具体的爬取方法相信大家已经掌握住 ...
- python购物车结算不了_python中购物车
python的基础语法 python数据类型:(按特征划分) 数字类型: 1.整形:布尔形.长整型L.标准整形 2.非整形:双精度型.复数.decimal(不是内建类型) 序列类型: 1.字符串(st ...
- python判断数字奇偶_python如果快速判断数字奇数偶数
python如果快速判断数字奇数偶数 这篇文章主要介绍了python如果快速判断数字奇数偶数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用 按 ...
最新文章
- lol简介/html
- Android开发四 开发第一个Android应用
- 【pyqt5学习】——给窗口添加图标
- Caffe源码解析1:Blob
- 五个免费UML建模工具推荐
- Emacs lisp函数调用defun(五)
- Android - 找到当前类的Context
- 微信小程序/js上传图片值腾讯云cos
- 如何批量将报表导成excel文件并打包下载
- mimics能导出什么格式_mimics教程
- 计算机应用 一级学科,一级学科、二级学科,考研专业哪个包含了计算机考研方向...
- 【历史上的今天】1946年2月14日:世界上第一台计算机ENIAC诞生
- 使用EasyPoi导出Word文件,使用@Excel注释导出实体对象图片的解决方案
- 软件测试的工作流程是什么?
- 【生活】罗曼·罗兰语录
- 训练日记 | 2021.03.21 | 天梯赛选拔赛
- iPhone 11忘记了密码怎么办?
- 中国二苯甲酰甲烷市场运营模式及市场供需预测报告2022-2028年
- 新内核版本ioctl的变化 _IO, _IOR, _IOW, _IOWR 幻数的理解
- php学生作业管理,学生课程作业成绩管理系统