python中的and与&,or与 | 的区别

本文介绍了Python中逻辑运算符and、or的短路特性以及位运算符&&和|的用法,包括它们在布尔表达式中的优先级和在处理二进制数时的应用实例。
摘要由CSDN通过智能技术生成

python中的and与or,&与 | 的区别

1.and与or

and”和“or”是逻辑操作符,用于连接两个布尔表达式(即真或假)。

**and”和“or”具有短路特性。**具体来说,“and”如果左侧的表达式为假,则不会计算右侧的表达式;如果左侧的表达式为真,则会计算右侧的表达式。“or”如果左侧的表达式为真,则不会计算右侧的表达式;如果左侧的表达式为假,则会计算右侧的表达式。这种特性在编程中很有用,因为它可以帮助我们节省计算资源。

例如:

a = True  
b = False   
c = a and b  # 这会返回 False,因为 b 是 False
c = a or b  # 这会返回 True,因为 a 是 True

具体用法:

  1. 判断变量是否为 0, 是 0 判断为 False,非 0 判断为 True。
  2. and 中含 False,返回 False; 均为True时,返回后一个值
  3. or 中, 至少有一个True时,返回第一个True
1 and 0   # 返回 0
2 and 1   # 返回 1
1 and 2   # 返回 2

1 or 0   # 返回 1
2 or 1   # 返回 2
0 or 1   # 返回 1 

2.&与|

“&”和“|”是位运算符,用于操作二进制数字,当我们处理二进制数字时,可以使用“&”和“|”。

“&”和“|” 的优先级高于 ”and“与”or“ 。也就是说,如果在一个逻辑表达式中同时存在 ”and“与”or“ 和 “&”和“|”,那么“&”和“|”将优先于”and“与”or“ 进行运算。

1 & 2         # 返回 0 


'''
2在二进制里面是10,1在二进制中是01 
	0	1
 &	1	0
————————————
	0	0
'''





1 | 2          # 返回 3


''' 
    0	1
 |	1	0
————————————
	1	1
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值