python - 为什么'或'只使用python中的第一个值?
问题描述
b = 'a'
print(b==('b' or 'a'))
False
如果您输入此代码,您将获得。但是,如果您像这样更改顺序:
b = 'a'
print(b==('a' or 'b'))
你得到True
.
那么,为什么or
在这段代码中只考虑两者的第一个值呢?我认为上面的代码也应该返回True
。
解决方案
尝试在 python REPL 中评估以下表达式:
'a' or 'b'
这给出'a'
, 因为or
运算符短路;也就是说,它返回它找到的第一个真实参数,在这种情况下,'a'
。两者都是真实的'a'
,'b'
所以你只是得到你放在第一位的任何一个。
推荐阅读
- android - 统一项目作为库和 android 项目后,清单中出现错误
- cloudamqp - cloudampq 客户端未连接到 rabbitmq 服务器
- android - 将调用活动传递给寻呼机适配器
- c++ - 控制 std::map 顺序的最低要求
- c# - 如何获取列的值并将其放入标签 C# & SQL Server
- react-native - 反应原生 FlatList scrollToItem 错误
- julia - 将`limits`作为函数参数传递
- r - 从 List 中的 Dataframe 的列中获取五个最大值
- java - 如何将内容从活动移动到片段
- mysql - SQL while 循环不匹配任何条目