原理:Python解释器在做布尔运算时,只要能提前确定计算结果,就不会继续往后算了,直接返回结果。
例如在计算a and b时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。
b = 'world'
a = ''
print('hello,', a and b)
a = 'python'
print('hello,', a and b)
运行结果为
hello,
hello, world
在计算a or b时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
a = 'python'
b = 'world'
print('hello,', a or b)
a = ''
print('hello,', a or b)
运行结果为
hello, python
hello, world