芙蕖扮演者,婆婆来了全集下载,冬天的秘密空间链接
1. 真值测试
所谓真值测试,是指当一种类型对象出现在if或者while条件语句中时,对象值表现为true或者false。弄清楚各种情况下的真值对我们编写程序有重要的意义。
对于一个对象a,其真值定义为:
以if为例(while是等价的,不做赘述),定义函数truth_test(x)为:
def truth_test(x): if x: return true else: return false
2.对象的真值测试
一般而言,对于一个对象,在满足以下条件之一时,真值测试为false;否则真值测试为true。
(1)以下类型对象真值测试为真:
class x: pass
(2)以下真值测试为假:
class y: def __bool__(self): return false
(3)以下真值测试为假:
class z: def __len__(self): return 0
进入python3脚本环境,测试过程如下:
>>> class x: ... pass ... >>> class y: ... def __bool__(self): ... return false ... >>> class z: ... def __len__(self): ... return 0 ... >>> def truth_test(x): ... if x: ... return true ... else: ... return false ... >>> x = x() >>> y = y() >>> z = z() >>> truth_test(x) true >>> truth_test(y) false >>> truth_test(z) false >>>
3. 常见对象的真值
下面是常见的真值为false的情况:
进入python3脚本环境,测试过程如下:
>>> truth_test(none) false >>> truth_test(false) false >>> truth_test(0) false >>> truth_test(0.0) false >>> truth_test(0j) #复数 false >>> truth_test(decimal(0)) #十进制浮点数 false >>> truth_test(fraction(0,1)) #分数 false >>> truth_test(fraction(0,2)) #分数 false >>> truth_test('') false >>> truth_test(()) false >>> truth_test({}) false >>> truth_test(set()) false >>> truth_test(range(0)) #序列 false >>> truth_test(range(2,2)) #序列 false
此外的其它取值,真值测试应当为true。
4.一些有意思的例子
下面是一些有意思的例子,原理不超出前面的解释。
>>> if 1 and fraction(0,1): ... print(true) ... else: ... print(false) ... false >>> if 1 and (): ... print(true) ... else: ... print(false) ... false >>> if 1 and range(0): ... print(true) ... else: ... print(false) ... false >>> if 1 and none: ... print(true) ... else: ... print(false) ... false >>> if 1+2j and none: ... print(true) ... else: ... print(false) ... false
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新手学习Python2和Python3中print不同的用法
Python基于os.environ从windows获取环境变量
网友评论