二元逻辑运算符的短路逻辑

短路逻辑功能:前面的运算结果已经能代表后面的结果了那就不再运算后面的了
and 的话,若前面为false/0,则后面就不看了,也可以说是不运行了

# 短路逻辑功能:前面的运算结果已经能代表后面的结果了那就不再运算后面的了
def aa():
        print('执行了aa函数!')
        return 100
def bb():
        print('执行了bb函数!')
        return False
def cc():
        print('执行了cc函数!')
        return []
# 执行的话优先级划分,然后从左向右开始运算,
# 运算过程中会有短路逻辑判断,返回值是最后一步运算所得到的值。
print(aa() or bb(),'\n') # 1
print(bb() or aa() and cc(),'\n') # 0
print(cc() and aa() or bb(),'\n') # 0 短路逻辑:cc()为false则不看aa(),下一个再执行bb()
print(aa() and bb() or cc() and aa(),'\n') # 0
print(not aa() and cc()) # 0
posted @ 2021-07-29 20:30  索匣  阅读(168)  评论(0编辑  收藏  举报