试想一下以下代码运行结果。
a=["b","c","d","e"]
for i in a:
if "g" or "f" in a:
print("1输出",i)
if None and "c" in a:
print("2输出",i)
结果如下
1输出 b
1输出 c
1输出 d
1输出 e
在该段语句中,很容易陷入or的字面表达语意中。其实涉及两个点:
1、python 中 if 后面所有的非空字符串都为真 True,在这里,‘g’是单个字符串。
2、python 中 in 跟 or 的运算符顺序,in 优于or。所以我们的写法应该是这样写 if “g” in a or “f” in a: