python 里 and 与 or 的简单区分

v1 = 1 or 3
print('v1',v1,1)

v2 = 1 and 3
print('v2',v2,3)   # 从右往左看,均为True,返回从右往左的第一个,即此处为3

v3 = 0 and 2 and 1
print('v3',v3,0)

v4 = 0 and 2 or 1
print('v4',v4,1)

v5 = 0 and 2 or 1 or 4
print('v5',v5,1)

v6 = 0 or {} and 1
print('v6',v6,{})

v7 = {} or [] and 2
print('v7',v7,[])

'''
总结:
 a and b
 从右往左看,如果a b 均为真,返回从右往左的第一个值,如果有一个为假的,则取第一个遇到的假
 a or b
 从左往右看,返回第一个为真的值,若均为假,返回最后一个假的数据类型
 and 的优先级大于 or
'''
原文地址:https://www.cnblogs.com/changwenjun-666/p/11381574.html