python中的逻辑运算符

1. 通过简单电路理解逻辑运算符not/and/or

短路与或非

2. python中的逻辑运算符
2.1 短路与(and)

position1 and position2为例,首先需要说明的是,这里的position1和position2可以理解为占位符,因为它们既可能是某种类型的数据,也可能是一个表达式。由于表达式的返回值最终还是某种类型的数据。那么我们姑且将position1位置的终值记为x,将position2位置的终值记为y。则最终进行的短路与运算其实是x and y

# 两种情况
#1.表达式中有0或False,0 and任何数都是0,False and任何数都是False
print(0 and 4)
print(False and 4)

# 2.表达式中全是True或非0值,结果是最后一个数
# 当x和y均为某种类型的数据时,结果为y
print(3 and 4)

总结

  1. 表达式中有0或False,则运算结果为0或False。
  2. 0 and 任何数据都是0(包括False);False and任何数据都是False(0除外)。
  3. 当表达式中既无False也无0,结果为最后一个and的值
2.2 短路或(or)

例:A or B or C or D。值为A,B,C,D从左向右第一个不为0或False的数据。

print(1 or 2 or 3 or 4)  # 1

print(0 or 1 or 2)  # 1
print(0 or False)  # False


print(False or 1)  # 1
print(False or 0)  # 0

总结

  1. 0 和 False作或运算时,结果为后边的那个。即0 or False结果为False,False or 0结果为0
  2. 0 or 0结果为0,False or False结果为False
  3. 其余情况结果均为第一个非0或非False的值,如0 or 1 or 2结果为1
2.3 逻辑非(not)

not 只在以下四种情况下,结果为True:① not 0not Falsenot ''not None。其余情况结果均为False。

print(not 0)  # True
print(not False)  # True
print(not '')  # True
print(not None)  # True

print(not 1)  # False
print(not 'ad')  # False
print(not 'a')  # False
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值