Python中使用Boolean操作符做真值测试实例


Posted in Python onJanuary 30, 2015

在Python中,任何类型的对象都可以做真值测试,并且保证返回True或者False。

以下几种值(不论类型)在真值测试中返回False:

1.None
2.False
3.任何类型的数字0,包括0,0.0,0L,0j
4.空的序列(sequence)或者映射(mapping)类型对象
5.对于用户自定义类型的对象,如果其类定义了__nonzero__() 或者 __len__()特殊方法并且返回False或者0

对于最后一条规则,有几点需要说明:

1.如果类没有定义这两个方法中的任何一个,则这种类型的对象真值测试时总是为True
2.如果类同时定义了__nonzero__() 和 __len__(),只会参考__nonzero__()的返回值

Boolean操作符的特性(直接copy文档而来):

x or y: if x is false, then y, else x

x and y: if x is false, then x, else y

not x: if x is false, then True, else False

1.注意and和or操作符的短路特性
2.not运算符要么返回True要么返回False
3.and和or运算符的返回值不限于True和False,它只是对x或者y做真值测试,然后返回其中一个的值(注意不是其真值)

代码示例:

s = ''

s = s or 'default value'

print s

运行结果是:

default value
Python 相关文章推荐
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
Feb 04 Python
在Python的Django框架中获取单个对象数据的简单方法
Jul 17 Python
Python实现类似jQuery使用中的链式调用的示例
Jun 16 Python
Python内建函数之raw_input()与input()代码解析
Oct 26 Python
Python 修改列表中的元素方法
Jun 26 Python
使用CodeMirror实现Python3在线编辑器的示例代码
Jan 14 Python
Python变量类型知识点总结
Feb 18 Python
python爬虫基础教程:requests库(二)代码实例
Apr 09 Python
使用python实现滑动验证码功能
Aug 05 Python
在keras中实现查看其训练loss值
Jun 16 Python
浅析PyCharm 的初始设置(知道)
Oct 12 Python
细说NumPy数组的四种乘法的使用
Dec 18 Python
Python中的zip函数使用示例
Jan 29 #Python
Python的另外几种语言实现
Jan 29 #Python
python中使用xlrd、xlwt操作excel表格详解
Jan 29 #Python
Python中实现常量(Const)功能
Jan 28 #Python
Python使用random和tertools模块解一些经典概率问题
Jan 28 #Python
Python中的异常处理学习笔记
Jan 28 #Python
Python中集合类型(set)学习小结
Jan 28 #Python
You might like
解析php中获取url与物理路径的总结
2013/06/21 PHP
Yii框架form表单用法实例
2014/12/04 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
PHP 极验验证码实例讲解
2016/09/29 PHP
php字符集转换
2017/01/23 PHP
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
百度留言本js 大家可以参考下
2009/10/13 Javascript
js打印纸函数代码(递归)
2010/06/18 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
表格奇偶行设置不同颜色的核心JS代码
2013/12/24 Javascript
Node.js中的模块机制学习笔记
2014/11/04 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
原生和jQuery的ajax用法详解
2017/01/23 Javascript
JS正则表达式判断有效数实例代码
2017/03/13 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
JQuery特殊效果和链式调用操作示例
2019/05/13 jQuery
Vue3 中的数据侦测的实现
2019/10/09 Javascript
python实现的防DDoS脚本
2011/02/08 Python
python测试mysql写入性能完整实例
2018/01/18 Python
Python数据分析之双色球中蓝红球分析统计示例
2018/02/03 Python
Python中defaultdict与lambda表达式用法实例小结
2018/04/09 Python
Python 画出来六维图
2019/07/26 Python
python实现监控阿里云账户余额功能
2019/12/16 Python
Python matplotlib可视化实例解析
2020/06/01 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
意大利在线购买隐形眼镜网站:VisionDirect.it
2019/03/18 全球购物
西班牙最大的婴儿用品网上商店:Bebitus
2019/05/30 全球购物
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
DataReader和DataSet的异同
2014/12/31 面试题
财务管理专业应届毕业生求职信
2013/09/22 职场文书
学前教育毕业生自荐信
2013/10/29 职场文书
继电保护工岗位职责
2014/01/05 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
Spring Boot两种全局配置和两种注解的操作方法
2021/06/29 Java/Android
详解pytorch创建tensor函数
2022/03/22 Python
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers