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元组操作实例解析
Sep 23 Python
Python实现简单的可逆加密程序实例
Mar 05 Python
python实现telnet客户端的方法
Apr 15 Python
Python通过属性手段实现只允许调用一次的示例讲解
Apr 21 Python
Python 3 实现定义跨模块的全局变量和使用教程
Jul 07 Python
详解numpy矩阵的创建与数据类型
Oct 18 Python
python加载自定义词典实例
Dec 06 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
Feb 04 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
Mar 13 Python
解决python使用list()时总是报错的问题
May 05 Python
PyQt中使用QtSql连接MySql数据库的方法
Jul 28 Python
python两个list[]相加的实现方法
Sep 23 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调用Twitter的RSS的实现代码
2010/03/10 PHP
PHP Stream_*系列函数
2010/08/01 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
2016/10/28 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
JavaScript中getUTCMinutes()方法的使用详解
2015/06/10 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
JS获取屏幕高度的简单实现代码
2016/05/24 Javascript
jQuery焦点图轮播插件KinSlideshow用法分析
2016/06/08 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
JavaScript引用类型RegExp基本用法详解
2018/08/09 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
Angular8 Http拦截器简单使用教程
2019/08/20 Javascript
ionic+html5+API实现双击返回键退出应用
2019/09/17 Javascript
小程序如何写动态标签的实现方法
2020/02/05 Javascript
matplotlib给子图添加图例的方法
2018/08/03 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
python面向对象法实现图书管理系统
2019/04/19 Python
pycharm 安装JPype的教程
2019/08/08 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
X/HTML5 和 XHTML2
2008/10/17 HTML / CSS
Alba Moda德国网上商店:意大利时尚女装销售
2016/11/14 全球购物
TripAdvisor土耳其网站:全球知名旅行社区,真实旅客评论
2017/04/17 全球购物
英国工作场所设备购买网站:Slingsby
2019/05/03 全球购物
幼儿园实习自我鉴定
2013/12/15 职场文书
人力资源部门的主要职能
2014/02/22 职场文书
新学期开学演讲稿
2014/05/24 职场文书
电气自动化求职信
2014/06/24 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书
2016幼儿园毕业感言
2015/12/08 职场文书
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python