Cloud Datastore
如果输入此代码,您将得到b = 'a'
print(b==('b' or 'a'))
。
但是,如果您这样更改顺序:
False
您得到b = 'a'
print(b==('a' or 'b'))
。
那么,为什么这段代码中的True
只考虑两者的第一个值?
我认为上面的代码也应该返回or
。
答案 0 :(得分:3)
尝试在python REPL中评估以下表达式:
'a' or 'b'
这会给'a'
,因为or
运算符发生短路;也就是说,它返回找到的第一个真实参数,在这种情况下为'a'
。 'a'
和'b'
都是真实的,因此您只需要获得首先输入的任何一个即可。
答案 1 :(得分:1)
如果我正确理解您的代码,您可能想写:
b = 'a'
print(b in ('a', 'b'))
这将检查b
是否等于'a'
和'b'
之一。