Python 逻辑运算符

Python 逻辑运算符

使用Python的逻辑运算符,我们可以形成复合的布尔表达式。这些逻辑运算符的每个操作数本身就是一个布尔表达式。例如,

age>16 and marks>80
percentage<50 or attendance<75

和关键字False一同,Python将None、所有类型的数值零以及空序列(字符串、元组、列表)、空字典和空集合解释为False。所有其他值都被视为True。

Python有三个逻辑运算符,它们分别是”and”、”or”和”not”,它们必须使用小写。

and运算符

对于复合布尔表达式来说,只有两个操作数都为True时,表达式才为True。如果一个或者两个操作数有一个为False,表达式返回False。下表显示了各种情况。

a b a and b
F F F
F T F
T F F
T T T

or运算符

相比之下,如果任何一个操作数为True,or运算符将返回True。对于复合布尔表达式来说,要为False,两个操作数都必须为False,如下表所示:-

a b a or b
F F F
F T T
T F F
T T T

逻辑 not 运算符

这是一个一元运算符。它会反转其后的布尔操作数的状态。因此,not True 变成 False,not False 变成 True。

a not (a)
F T
T F

Python解释器如何评估逻辑运算符

表达式x and y首先评估“x”。如果“x”为假,则返回其值;否则,评估“y”并返回结果值。

Python 逻辑运算符

表达式“x或y”首先计算“x”;如果“x”为真,则返回它的值;否则,计算“y”并返回所得的值。

Python 逻辑运算符

下面给出了逻辑运算符的一些使用情况−

x = 10
y = 20
print("x > 0 and x < 10:",x > 0 and x < 10)
print("x > 0 and y > 10:",x > 0 and y > 10)
print("x > 10 or y > 10:",x > 10 or y > 10)
print("x%2 == 0 and y%2 == 0:",x%2 == 0 and y%2 == 0)
print ("not (x+y>15):", not (x+y)>15)

它将产生以下输出。

x > 0 and x < 10: False
x > 0 and y > 10: True
x > 10 or y > 10: True
x%2 == 0 and y%2 == 0: True
not (x+y>15): False

我们可以在逻辑运算符中使用非布尔操作数。在这里,需要注意任何非零数和非空序列都会被视为真。因此,逻辑运算符的真值表也适用于这些情况。

在下面的例子中,逻辑运算符使用数值操作数。变量”x”、”y” 的值为真,”z” 的值为假。

x = 10
y = 20
z = 0
print("x and y:",x and y)
print("x or y:",x or y)
print("z or x:",z or x)
print("y or z:", y or z)

它将会产生以下 输出-

x and y: 20
x or y: 10
z or x: 10
y or z: 20

在下面的示例中,字符串变量被视为True,而空元组被视为False。

a="Hello"
b=tuple()
print("a and b:",a and b)
print("b or a:",b or a)

它将产生以下输出: 输出

a and b: ()
b or a: Hello

最后,下面的两个列表对象都不为空。因此,x和y返回后者,x或y返回前者。

x=[1,2,3]
y=[10,20,30]
print("x and y:",x and y)
print("x or y:",x or y)

它将产生以下输出

x and y: [10, 20, 30]
x or y: [1, 2, 3]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程