Python中的逻辑表达式

首先要明确一点,Python的逻辑运算符,可以用来操作任何类型的表达式(不局限于Bool类型),且运算后的结果也不一定是Bool类型的,而是其左右其中一个表达式的值

表达式1 and 表达式2

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

表达式1 or 表达式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

  • 空集合,包括(),[],{}

posted @ 2022-06-18 10:58  jacknie23  阅读(791)  评论(0编辑  收藏  举报