python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python  and, or, &, |, ^

Python 中 and, or, &, |, ^ 的使用小结

作者:昜羊

这篇文章主要介绍了Python 中 and, or, &, |, ^ 的使用小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

在Python中,0,“”,[],(),{},None,False为假值,其余为真值。

and 和 or

其中andor还有以下运算规律:

  • and和or返回的是比较的值
  • and的优先级大于or
  • 多个and的话,如果全为真,则返回最后一个值。如果其中有一个为假,则返回该假值
  • 多个or的话,如果有一个为真,则返回第一个真值。 如果全为假,则返回最后一个假值

例子:

11 and 12 and 13               # 13  
[] and 3                       # []  
None and 3                     # 没有输出(None)  
3 and 5 or 2                   # 5  
20 or False                    # 20  
(3 < 2) and 5                  # False  
(3 > 2) and 5 or 1             # 5  
(3 < 2) and 5 or 1             # 1
1 and 2 and 0 and 4 and False  # 0
1 and 2 and True and 4 and 6   # 6
0 or False or '' or 8 or 1     # 8
[] or 0 or '' or None or ()    # ()

如果有not,优先级更高:not>and>or
例子:

x=1 #将x赋值为1
y=0 #将y赋值为0
z=0 #将z赋值为0
print(x or y and not z)    # 1

所以输出结果为 1。

总结: 代码运算过程为:(用数学符号表示优先级){ x or [ y and (not z) ] }

&,|,^

如果两边是数值变量时:

例子:

a = 3 & 5           # a = 1 (011 and 101 = 001)  
b = 6 ^ 2           # b = 4 (110 xor 010 = 100)  
c = 4 | 3           # c = 7 (100 or 011 = 111) 

两边是逻辑变量时

如果两边是逻辑变量时,则两类的用法基本一致.
例子:

(3>0) | (3<1)     # True
(3>0) or (3<1)    # True
(3>0) & (3<1)     # False
(3>0) and (3<1)   # False

到此这篇关于Python 中 and, or, &amp;, |, ^ 的使用的文章就介绍到这了,更多相关Python and, or, &amp;, |, ^ 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文