教程引言:
荟萃经典的Python面试题,包括但不限于基础知识,高阶知识,算法,以及开放性回答等必考的面试题。
如何理解逻辑运算的短路逻辑?
Python逻辑运算中的短路计算主要是针对逻辑运算符and与or。and操作符用来执行逻辑与运算,or操作符用来执行逻辑或运算。所谓的短路计算是一种快速计算,需根据逻辑运算本身的特性来进行理解。
在逻辑与运算中所有操作数都为真,结果才为真,所以一旦发现操作数为假,就可以立即停止运算。在逻辑或运算中只要有一个操作数为真,那么结果就为真,所以只要发现操作数为真,就可以立即停止运算。立即停止运算以后,可以减少不必要的计算。
在Python的逻辑运算中,一旦停止计算,会返回最后一次参与运算的操作数。
代码实例:
value = 1 and 2.0 and "" and True and "everything is ok" # value指向的值为"", 操作数1,2.0都为真值,由于""转换后的布尔值为False,所以会触发短路逻辑,最终返回"" value = 0 or 0.0 or 201314 or "all are lies" # value指向的值为201314,操作数0,0.0都为假值,201314转换后的布尔值为True,触发短路逻辑,最终返回201314 """ (1) 在逻辑运算中同时包含and与or操作符时,需根据优先级和结合性来具体问题具体分析 (2) and的优先级大于or的优先级,在表达式1 and 2 or 3 and 4中,值为2 """
关注微信公众号:薯条编程,公众号后台回复"Python资料",免费领取Python电子书,以及学习Python视频课程。