关于python的逻辑运算符,日常使用比较简单化,然而在面试中可能会有这样的问题:
1 and 2
1 or 'a'
这种问题如何解决?
优先级:
() > not > and > or
使用规则:
a and b:
- 如果a表示True,那么结果就是b
- 如果a表示False,那么结果就是a
a or b:
- 如果a表示False,那么结果就是b
- 如果a表示True,那么结果就是a
关键在于对and和or前面的对面真假的判断;and如果前面为真,就取后面;or如果前面为真,就取前面。
示例:
v1 = 1 and [1,2,3]
v2 = 2 or 1
v2 = 1 or 2 and False
print(v1) #[1,2,3]
print(v2) #2
print(v3) #1