Python逻辑运算符and?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python逻辑运算符and?相关的知识,希望对你有一定的参考价值。

小弟初来Python,求一个小小的问答,我明白and是有假取假or是有真取真,像这类数字与数字对比怎么分真假真取,print(8 or 3 and 4 or 2 and 0 or 9 and 7).

and和or表达式的值是第一个能决定整个表达式是否成立的那个操作数的值。举例:
3 and 4:第一个操作数3为真,但不能保证and成立,还要看第二个操作数4;4也为真,此时可以确定and一定成立,因此这个表达式的值是4。
'hello' and [] and 'world':第一个操作数'hello'为真,但不能保证and成立;第二个操作数[]为假,此时可以确定and一定不成立,因此这个表达式的值是[]。
'a' or 'b' or 'c' or 'd':第一个操作数a为真,此时可以确定or一定成立,因此这个表达式的值是'a'。
1 and 2 or 3 and 4:and的优先级高于or,因此先求左边的1 and 2,这个子表达式的值是2,2为真,可以确定or一定成立,因此整个表达式的值是2。
参考技术A 在python中,逻辑运算符的优先级是逻辑运算符: or< and <not,此外,and取后而or取前,所以根据运算顺序可以得知print(8 or 3 and 4 or 2 and 0 or 9 and 7).即为print( 8 or 4 or 0 or 7),得到结果为8.
对于数字反复运用逻辑运算符一般是没有意义的。望采纳
参考技术B 数字与数字间or或and,or取前者,and取后者。
and和or相比and优先。所以这里的顺序是
3 and 4 = 4
2 and 0 = 0
9 and 7 = 7
8 or 4 = 8
8 or 0 = 8
8 or 7 = 8
最后结果为8。
希望对你有所帮助,谢谢!

python 逻辑运算

and or not
优先级,()> not > and > or

print(3>4 or 4<3 and 1==1)  # F
print(1 < 2 and 3 < 4 or 1>2)  # T
print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)  # T
print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)  # F
print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)  # F
print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) # F
ps int ---->bool 非0的数字转换bool值为True,0转换为bool值为False
print(bool(2))
print(bool(-2))
print(bool(0))
#bool --->int
print(int(True))   # 1
print(int(False))  # 0

x or y x为True 则返回x

 

print(1 or 2)  # 1
print(3 or 2)  # 3
print(0 or 2)  # 2
print(0 or 100)  # 100
x and y x True,则返回y
print(2 or 1 < 3)#2
print(3 > 1 or 2 and 4)#4

 

 
 

以上是关于Python逻辑运算符and?的主要内容,如果未能解决你的问题,请参考以下文章

我想问下python中 逻辑与:“&”和“and”的区别

python中and、or和not 三个逻辑运算符,一直理解不了,求帮助!

python_逻辑运算符

python-逻辑运算:not\and\or和布尔值:True\False

Python中的逻辑运算符:'and'与'or'的用法

Python中 and or 运算顺序详解 --- 短路逻辑