首页 > 解决方案 > 为什么'或'只使用python中的第一个值?

问题描述

b = 'a'
print(b==('b' or 'a'))

False如果您输入此代码,您将获得。但是,如果您像这样更改顺序:

b = 'a'
print(b==('a' or 'b'))

你得到True.

那么,为什么or在这段代码中只考虑两者的第一个值呢?我认为上面的代码也应该返回True

标签: python

解决方案


尝试在 python REPL 中评估以下表达式:

'a' or 'b'

这给出'a', 因为or运算符短路;也就是说,它返回它找到的第一个真实参数,在这种情况下,'a'。两者都是真实的'a''b'所以你只是得到你放在第一位的任何一个。


推荐阅读