5.7. More on Conditions(有关控制的更多内容)

来源:互联网 发布:办公室网络架构 编辑:程序博客网 时间:2024/06/03 13:16

while 和 if 语句可以实现所有的控制操作,不只是比较。

比较运算符 in 和 not in 检查一个值是否在序列里。运算符 is 和 is not比较两个对象是不是一个对象;这只用在list等可变类型身上。所有的比较运算符有相同的优先级,比数学计算运算符的优先级低一些。

比较运算符可以连在一起使用。比如,a < b == c 测试是否比b小并且b和c相等。

比较运算可以被运算符 and 和 or合并,并可以使用not进行取反。这俩的优先级比比较运算符低;在and,or,not中,not有最高优先级,or 的优先级最低,所以 A and not B or C跟(A and (not B)) or C等价。通常的,加入圆括号来达到想要的组合。

逻辑运算符 and 和 or 是懒惰的:它们从左到右进行计算,只要得出结论就跳过该语句的后面部分。例如,如果A,C为真,B为假,A and B and C将不会执行C表达式。当用一个通常的值而不是布尔类型的时候,返回的值是最后执行的参数。

可以把布尔表达式换成值。例如:

>>> string1, string2, string3 = '', 'Trondheim', 'Hammer Dance'>>> non_null = string1 or string2 or string3>>> non_null'Trondheim'

注意Python和C语言不通,赋值并不是表达式。所以有效避免了想用==时敲成=的问题。

0 0
原创粉丝点击