当前位置: 首页 > 编程笔记 >

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

洪鸿
2023-03-14
本文向大家介绍Python中使用Boolean操作符做真值测试实例,包括了Python中使用Boolean操作符做真值测试实例的使用技巧和注意事项,需要的朋友参考一下

在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中unittest模块做UT(单元测试)使用实例,包括了Python中unittest模块做UT(单元测试)使用实例的使用技巧和注意事项,需要的朋友参考一下 待测试的类(Widget.py) 测试类(Auto.py) 测试结果: 总结: 1。第一步:先写好测试类 2。第二步:导入unittest模块及测试的类,运用setup()方法做测试前的准备工作,如建立数据库连接,运

  • 但我不能让它工作。 我测试的服务: 具有自动连线repo的Helper类 我的测试应该是这样的 我想更好的重构整个事情,但不幸的是,这是不可能的... 欢迎帮忙。

  • 布尔值必须为True或False。 那为什么 输出:是 我不明白为什么是打印,因为“poi”不是真是假。

  • 如果下面的条件成立返回真... -e 文件存在 -a 文件存在 这个和-e的作用一样. 它是不赞成使用的,所以它的用处不大。 -f 文件是一个普通文件(不是一个目录或是一个设备文件) -s 文件大小不为零 -d 文件是一个目录 -b 文件是一个块设备(软盘, 光驱, 等等.) -c 文件是一个字符设备(键盘, 调制解调器, 声卡, 等等.) -p 文件是一个管道 -h 文件是一个符号链接 -L 文

  • 本文向大家介绍python RC4加密操作示例【测试可用】,包括了python RC4加密操作示例【测试可用】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python RC4加密操作。分享给大家供大家参考,具体如下: 运行结果: e79aaf7a42d9a1 esbdata 补充: 报错: ImportError: No module named Crypto.Cipher 解决方法:

  • 本文向大家介绍Python中实现对list做减法操作介绍,包括了Python中实现对list做减法操作介绍的使用技巧和注意事项,需要的朋友参考一下 问题描述:假设我有这样两个list,           一个是list1,list1 = [1, 2, 3, 4, 5]           一个是list2,list2 = [1, 4, 5]           我们如何得到一个新的list,li