python and/or 逻辑运算符的短路逻辑

bool运算符有一个比较优秀的特征,就是只做有效运算
and 运算符

例如表达式 x and y,
只有当 x 和 y 都为真的时候,表达式值才为真;反之,若x为假,则立刻返回 假,y的值不在计算;
若x为真,y为假时,这个时候就会计算到y,然后在返回 假
下面一个例子可以看出是这种关系:
def A():
    print("A function")
    return False

def B():
    print("B function")
    return True

def C():
    print("C function")
    return False

def D():
    print("D function")
    return True

print(A() and B())
print("*"*20)
print(B() and A())
print("*"*20)
print(C() and A())
print("*"*20)
print(D() and B())

输出结果:
A function
False
********************
B function
A function
False
********************
C function
False
********************
D function
B function
True

or 运算符

例如 x or y, or和and的运算符和 and相反,
当x为真的时候,直接返回 真; 当x 为假时,要检查 y, 根据y的情况返回真假,y为真时,返回真;y为假时返回假
可以根据下面的例子查看:
def A():
    print("A function")
    return False

def B():
    print("B function")
    return True

def C():
    print("C function")
    return False

def D():
    print("D function")
    return True

print(A() or B())
print("*"*20)
print(B() or C())
print("*"*20)
print(A() or C())
print("*"*20)
print(B() or D())

输出结果:
A function
B function
True
********************
B function
True
********************
A function
C function
False
********************
B function
True


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值