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中暂存上传图片的方法
Feb 18 Python
基于python的Tkinter编写登陆注册界面
Jun 30 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
Apr 28 Python
关于python列表增加元素的三种操作方法
Aug 22 Python
python 实现12bit灰度图像映射到8bit显示的方法
Jul 08 Python
Python的形参和实参使用方式
Dec 24 Python
python3 xpath和requests应用详解
Mar 06 Python
Pycharm生成可执行文件.exe的实现方法
Jun 02 Python
python实现AHP算法的方法实例(层次分析法)
Sep 09 Python
详解Python yaml模块
Sep 23 Python
Python 微信公众号文章爬取的示例代码
Nov 30 Python
python使用smtplib模块发送邮件
Dec 17 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面向对象概念
2011/11/06 PHP
PHP sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
2014/11/20 PHP
php通过array_merge()函数合并关联和非关联数组的方法
2015/03/18 PHP
Laravel实现表单提交
2017/05/07 PHP
二行代码解决全部网页木马
2008/03/28 Javascript
javascript concat数组累加 示例
2009/09/03 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
又拍云 Node.js 实现文件上传、删除功能
2018/10/28 Javascript
angular4笔记系列之内置指令小结
2018/11/09 Javascript
vue iview 隐藏Table组件里的某一列操作
2020/11/13 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
浅析Python中yield关键词的作用与用法
2016/11/29 Python
Python 中 list 的各项操作技巧
2017/04/13 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
Python JSON格式数据的提取和保存的实现
2019/03/22 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
使用placeholder属性设置input文本框的提示信息
2020/02/19 HTML / CSS
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
乌克兰机票、铁路和巴士票、酒店搜索、保险:Tickets.ua
2020/01/11 全球购物
node中使用shell脚本的方法步骤
2021/03/23 Javascript
中医药大学市场营销专业自荐信
2013/09/29 职场文书
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
广告学专业毕业生自荐信
2014/05/28 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
小学教师节活动总结
2015/03/20 职场文书
红色经典观后感
2015/06/18 职场文书
2015年中秋晚会主持词
2015/07/01 职场文书
民警忠诚教育心得体会
2016/01/23 职场文书
2016年社区文体活动总结
2016/04/06 职场文书
python 实现的截屏工具
2021/05/08 Python