python不一定会去计算左右两边的表达式的值,某些情况其只会计算左边表达式,而不会计算右边的表达式。
对于 and 逻辑运算符,两边都为真,则结果才为真;而只要第一个表达式的结果为假,则整个逻辑表达式的结果就是假,不需要再去计算后面的表达式的结果。
表达式1为 true时
逻辑表达式的结果为 表示式2
表示式1为 false时
逻辑表达式的结果为 表达式1
print(100 and 200)print(0 and 400)print("" and "https://www.cnblogs.com/jack-nie-23/")print("https://www.cnblogs.com/jack-nie-23/" and 2)>> 200>> 0>> >> 2对于 or 逻辑运算符,当两边的表达式都为假时则整个逻辑表达式的结果为假,而当表达式1的结果为真时,则整个逻辑表达式的结果就是为真,此时python不会再去计算表达式2的值。
表达式1为 true 时
逻辑表达式的结果为 表示式1
表达式1为 false 时
逻辑表达式的结果为 表示式2
print(100 or 200)print(0 or 400)print("" or "https://www.cnblogs.com/jack-nie-23/")print("https://www.cnblogs.com/jack-nie-23/" or 2)>> 100>> 400>> https://www.cnblogs.com/jack-nie-23/>> https://www.cnblogs.com/jack-nie-23/Python中表达为 false 的值有以下这些:
为0的数字,包括0,0.0
空字符串,包括 '', "" 这里指的是空字符串,不包括空字符串 ' '," "。
表示空值的None
空集合,包括(),[],{}