📜  逻辑运算符的操作数应该是布尔表达式,但是python不是很严格.任何非零数都被解释为真. - Python (1)

📅  最后修改于: 2023-12-03 15:42:04.370000             🧑  作者: Mango

Python的逻辑运算符

Python中的逻辑运算符有and、or、not三个,用来进行布尔逻辑运算。常常在条件语句、循环语句中使用。

布尔表达式

逻辑运算符的操作数应该是布尔表达式,但是Python不是很严格。任何非零数都被解释为真。例如:

if 1:
    print("True")
else:
    print("False")

输出结果为:

True

因为整数1被解释为真。而以下代码则输出False:

if 0:
    print("True")
else:
    print("False")

因为整数0被解释为假。

and运算符

当所有操作数都为True时,and运算符返回True。否则返回第一个为False的操作数。

print(True and True)    # True
print(True and False)   # False
print(False and False)  # False

复合表达式中,and运算符优先级高于or运算符。

or运算符

当有任意操作数为True时,or运算符返回True。否则返回最后一个为False的操作数。

print(True or True)     # True
print(True or False)    # True
print(False or False)   # False

复合表达式中,or运算符优先级低于and运算符。

not运算符

not运算符用来对布尔值进行取反操作。

print(not True)    # False
print(not False)   # True
示例代码
x = 5
y = 10

if x > 0 and y < 20:
    print("x>0 and y<20 is True")
else:
    print("x>0 and y<20 is False")

if x > 0 or y > 20:
    print("x>0 or y>20 is True")
else:
    print("x>0 or y>20 is False")

if not x < y:
    print("not x<y is True")
else:
    print("not x<y is False")

输出结果为:

x>0 and y<20 is True
x>0 or y>20 is True
not x<y is True