栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 面试经验 > 面试问答

为什么用`OR`对照多个值检查变量仅检查第一个值?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么用`OR`对照多个值检查变量仅检查第一个值?

(“Jesse” or “jesse”)

上面的表达式测试是否

"Jesse"
评估为
True
。如果是这样,则表达式将返回它;否则,它将返回
"jesse"
。该表达式等同于编写:

"Jesse" if "Jesse" else "jesse"

因为

"Jesse"
是一个非空字符串,所以它将 始终 求值为
True
并因此返回:

>>> bool("Jesse")  # Non-empty strings evaluate to True in PythonTrue>>> bool("")  # Empty strings evaluate to FalseFalse>>>>>> ("Jesse" or "jesse")'Jesse'>>> ("" or "jesse")'jesse'>>>

这意味着表达式:

name == ("Jesse" or "jesse")

基本上等同于编写此代码:

name == "Jesse"

为了解决您的问题,您可以使用

in
运算符:

# Test whether the value of name can be found in the tuple ("Jesse", "jesse")if name in ("Jesse", "jesse"):

或者,您可以小写

name
with的值,
str.lower
然后将其
"jesse"
直接与进行比较:

# This will also handle inputs such as "JeSSe", "jESSE", "JESSE", etc.if name.lower() == "jesse":


转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/640053.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号