在Python中要记住三个逻辑运算符,分别是 与and 、 或or 、非not 。
一、逻辑运算符分类和实例
运算符
逻辑表达式
描述
实例
and
x and y
布尔与:如果x为False,x and y返回False,否则返回y的值
True and False,返回False
or
X or y
布尔或:如果x为True,x or y返回True,否则返回y的值
True or False,返回True
not
Not x
布尔非:如果x为True,返回False,如果x为False,返回True
not True,返回False
not False,返回True
逻辑运算符代码实例:
a = 1b = 2c = 3# 1 and: 与 都真才真print(a < b and b < c) # Trueprint(a < b and b > c) # False# 2 or:或 一真则真,都假才假print(a > b or b < c) # Trueprint(a > b or b > c) # False# 3 not:非 取反print(not False) # Trueprint(not c > b) # False
二、逻辑运算符书写习惯:
关于在表达式上加上小括号的问题:
加上小括号不会影响代码的运行结果,比较复杂的表达式建议加上小括号,为了确保代码之间不发生歧义,如果在工作中不加上小括号那么同事在读我们代码时会不方便,要把代码从左到右读取一遍还要根据经验才能看出什么意思。
print((a < b) and (b < c)) # Trueprint((a < b) and (b > c)) # False
表达式加上小括号好处:
1 提高表达式的优先级
2 避免代码发生歧义
三、数字之间的逻辑运算 (and运算符、or运算符)
a = 0b = 1c = 2# 1 and运算符,只要有一个值为0,则结果为0,否则结果为最后一个非0的数字print( a and b ) # 0print( b and a ) # 0print( a and c ) # 0print( b and c ) # 2print( c and b ) # 1# 2 or运算符,只有所有值为0结果才为0,否则结果为第一个非0数字print( a or b ) # 1print( a or c ) # 2print( b or c ) # 1