四、python运算符(二)讲解

一、运算符的优先级

        首先逻辑运算分优先级:not > and > or

例如:

print(True or False and True) # True and True ==> True
print(False or not False) # False or True ==> True
print(True or True and False) # True or True ==> True

        强烈建议:在开发中,要使用括号来说明运算符的优先级,例如:

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

在python语言中,逻辑运算符也有规则

        (1) 逻辑与运算,只要有一个运算数是False,结果就是False;只有所有的运算数都是True,结果才是True。

        (2) 短路 :只要遇到了False,就停止执行,不再继续执行。

        (3) 取值 :取第一个为False,如果所有的运算数都是True,则取最后一个运算数。

二、逻辑运算的短路

       (1) 逻辑与运算,只有所有的运算数都是True,结果才是True。

       (2) 只要有一个运算数是False,结果就是False。

例如:

4 > 3 and print('hello world')
4 < 3 and print('你好世界') # 逻辑与运算的短路问题

        (3)逻辑或运算,只有所有的运算数都是False,结果才是False。

        (4)只要有一个运算数是True,结果就是True。

        (5)逻辑运算的结果,一定是布尔值吗?答:不一定

        (6)逻辑与运算做取值时,取第一个为False的值;如果所有的运算数都是True,取最后一个值。

例如:

print(3 and 5 and 0 and 'hello') # 0
print('good' and 'yes' and 'ok' and 100) # 100

        (7) 逻辑或运算做取值时,取第一个为True的值;如果所有的运算数都是False,取最后一个值。

例如:

print(0 or 'lisi' or 5 or 'ok') # lisi
print(o or [] or {} or ()) # ()

三、位运算(了解即可)

        位运算有以下:

# 按位与&   按位或|   按位异或    按位左移<<   按位右移>>   按位取反 ~   
a = 23
b = 12
print(a & b) # 按位与 :同为1 则为1,否则为0
print(a | b) # 按位或 :只要有一个为1,就为1
print(a ^ b) # 按位异或 :相同为0,不同为1

x = 5
print(x << 3) # a << n ==> a * 2 的n次方法 -- 5*2的3次方

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值