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中wx将图标显示在右下角的脚本代码
Mar 08 Python
跟老齐学Python之模块的加载
Oct 24 Python
Python导出DBF文件到Excel的方法
Jul 25 Python
机器学习python实战之手写数字识别
Nov 01 Python
python 对txt中每行内容进行批量替换的方法
Jul 11 Python
python面向对象入门教程之从代码复用开始(一)
Dec 11 Python
Python实现的爬取百度文库功能示例
Feb 16 Python
8种用Python实现线性回归的方法对比详解
Jul 10 Python
python机器学习包mlxtend的安装和配置详解
Aug 21 Python
Python学习笔记之字符串和字符串方法实例详解
Aug 22 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
Jan 05 Python
python入门学习关于for else的特殊特性讲解
Nov 20 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中使用XML
2006/10/09 PHP
一个简单php扩展介绍与开发教程
2010/08/19 PHP
自定义php类(查找/修改)xml文档
2013/03/26 PHP
解析PHP中intval()等int转换时的意外异常情况
2013/06/21 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
JQuery模板插件 jquery.tmpl 动态ajax扩展
2011/11/10 Javascript
解决jquery版本冲突的有效方法
2014/09/02 Javascript
jquery判断复选框是否选中进行答题提示特效
2015/12/10 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
2016/05/10 Javascript
Javascript之Date对象详解
2016/06/07 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
微信小程序npm引入vant-weapp的踩坑记录
2019/08/01 Javascript
基于jQuery实现可编辑的表格
2019/12/11 jQuery
微信小程序canvas截取任意形状的实现代码
2020/01/13 Javascript
[02:33]DOTA2亚洲邀请赛趣味视频之吐真话筒
2018/03/31 DOTA
Python卸载模块的方法汇总
2016/06/07 Python
python 实现交换两个列表元素的位置示例
2019/06/26 Python
python使用opencv对图像mask处理的方法
2019/07/05 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
python命令 -u参数用法解析
2019/10/24 Python
python用requests实现http请求代码实例
2019/10/31 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
GNC健安喜美国官网:美国第一营养品牌
2016/07/22 全球购物
保护动物倡议书
2014/04/15 职场文书
婚前协议书标准版
2014/10/19 职场文书
少年雷锋观后感
2015/06/10 职场文书
校长新学期致辞
2015/07/30 职场文书