脚本专栏 
首页 > 脚本专栏 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )

在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中使用md5sum检查目录中相同文件代码分享
一句话新闻
Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。