关于python的if语句中and与in连用遇到的坑

先上图:

关于python的if语句中and与in连用遇到的坑

大家可以在自己推一下结果,下面是计算机运行的结果关于python的if语句中and与in连用遇到的坑

对比结果,翻译成中文大概就是

第一次:如果1或4在L中,那么通过,

第二次:如果1和4在L中,那么通过,

第三次:如果4和1在L中,那么通过,

第四次:如果1在L中和如果4在L中,那么通过

综上,第一次不用解释,而第二次和第三次都是and,但是似乎因为检索的顺序不同,最终结果也不一样,

这里and连用,似乎最终判定是由后面的元素决定的,第二次是检查4的时候发现没有,于是没有通过,第三次是检查1,发现存在于是通过,根据这个规律,我猜测python内部读取这两行代码的规则应该是如下的:

以第三次为例:if “4”(“4”==true)

继续:              if “1”in L

pass

换句话说if对and的两个字符串进行了语义分割,and前面的字符串,if语句直接把它当成了true或flase识别

所以要想在python中实现且运算,还是得使用第四次输入