python判断数值为空_python判断是空的实例分享
在实际的工作当中,我们难免要与空值打交道,相信不少初学者都会写出下面的代码:
if a is None:
do something.else:
do the other thing.
这样写看起来不错,但实际上会有问题。一般来讲,Python中会把下面几种情况当做空值来处理:
None
False
0,0.0,0L
'',(),[],{}
其中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函数返回的是否是空
我不知道你这里的空是什bai么意思 是None还是‘'
我都都给你du讲讲:
None是一zhi个空dao的对象,代表什么都没有。
而'',是一个字符串对象,代表一个空的字符串
如果返回值是None,你就用 if None:判断
如果返回‘',你就用if len(‘') == 0:判断
网友分享:
可以直接bai把函数放到if后面当du作条件,如果为空的话zhi判断结果dao是false,例如:
def test():
return None
if test():
print True
else:
print False
到此这篇关于python判断是空的实例分享的文章就介绍到这了,更多相关python怎么判断是空的内容请搜索python博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持python博客!
python判断数值为空_python判断是空的实例分享相关推荐
- python打印国际象棋规则口诀_python输出国际象棋棋盘的实例分享
国际象棋是当今国际上最流行的智力体育运动项目.青年人下棋可以锻炼思维.增强记忆力和培养坚强的意志:中年人下棋可以享受美学:老年下棋可以很好的休息娱乐.国际象棋游戏有自己的规则,需要两个人将棋子落在棋盘 ...
- python判断一个对象是否为空_python 判断对象是否为空
在实际的工作当中,我们难免要与空值打交道,相信不少初学者都会写出下面的代码:if a is None: do something. else: do the other thing. 云海天教程网,大 ...
- python判断正负的函数_python判断正负数方式
我就废话不多说了,大家还是直接看代码吧! a1 = raw_input("please input a number") a = int(a1) if(a!=0): if(a &g ...
- python判断正数还是负数_python判断正负数方式
我就废话不多说了,大家还是直接看代码吧! a1 = raw_input("please input a number") a = int(a1) if(a!=0): if(a &g ...
- python输出国际象棋棋盘_python输出国际象棋棋盘的实例分享
国际象棋是当今国际上最流行的智力体育运动项目.青年人下棋可以锻炼思维.增强记忆力和培养坚强的意志:中年人下棋可以享受美学:老年下棋可以很好的休息娱乐.国际象棋游戏有自己的规则,需要两个人将棋子落在棋盘 ...
- python打印国际象棋棋盘_python输出国际象棋棋盘的实例分享
国际象棋是当今国际上最流行的智力体育运动项目.青年人下棋可以锻炼思维.增强记忆力和培养坚强的意志:中年人下棋可以享受美学:老年下棋可以很好的休息娱乐.国际象棋游戏有自己的规则,需要两个人将棋子落在棋盘 ...
- 用python输出国际象棋棋盘_python输出国际象棋棋盘的实例分享
国际象棋是当今国际上最流行的智力体育运动项目.青年人下棋可以锻炼思维.增强记忆力和培养坚强的意志:中年人下棋可以享受美学:老年下棋可以很好的休息娱乐.国际象棋游戏有自己的规则,需要两个人将棋子落在棋盘 ...
- python画黑白线条_Python实现手绘图效果实例分享
首先我们来看看原图: 接着我们来看看效果图: 通过分析我们不难发现以下特征: 主要颜色为黑白灰 边界线条较重 相同或相近色趋于白色 略有光源效果 需要用到的库有: numpy PIL 代码实现: im ...
- python手绘教学_Python实现手绘图效果实例分享
首先我们来看看原图: 接着我们来看看效果图: 通过分析我们不难发现以下特征: 主要颜色为黑白灰 边界线条较重 相同或相近色趋于白色 略有光源效果 需要用到的库有: numpy PIL 代码实现: im ...
- python判断list是否为空_Python - 判断list是否为空
原博文 2018-02-01 19:15 − Python中判断list是否为空有以下两种方式: 方式一: 1 list_temp = [] 2 if len(list_temp): 3 # 存在值即 ...
最新文章
- MVC+Ninject+三层架构+代码生成 -- 总结(一、數據庫)
- 【UOJ#388】【UNR#3】配对树(线段树,dsu on tree)
- Fragment专辑(一):Fragment简介
- RocketMQ源码解析:Producer发送消息+Broker消息存储
- SRM6.1安装配置指南
- TypeScript入门知识五(面向对象特性二)
- JavaScript对象系统说明图
- mysql 学习笔记 02创建表
- save(),saveOrUpdate(),merge()的区别
- Java递归例子——求x的y幂次方
- 用ShopEx网上开店之安装Zend插件[2]
- 宠物合成网站源码_为什么加工宠物食品做不到真正的“清洁”?
- graphql是什么_什么是GraphQL?
- 标量、向量、矩阵、张量
- 关于vmplayer 和vmrun 同时使用说明文档
- 对我启发最大的数学学习方法
- 统计学中p值计算公式_统计学中的p值怎么算,具体步骤
- adb安装apk程序
- [JS]Tue Feb 01 2022 000000 GMT+0800 (中国标准时间) 日期格式化
- vlog常用参数解析