加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 冷凝比较

发布时间:2020-12-20 12:27:14 所属栏目:Python 来源:网络整理
导读:我是这里的新成员,也是 python的新成员.我的问题如下,有一条这样的线是否有效? if x or y is 'whatever': 我在解释器中测试了这个并且得到了不一致的结果.看起来这条线会产生更一致和预期的结果 if (x or y) is 'whatever': 或者最好是明确地将所有内容都这
我是这里的新成员,也是 python的新成员.我的问题如下,有一条这样的线是否有效?

if x or y is 'whatever':

我在解释器中测试了这个并且得到了不一致的结果.看起来这条线会产生更一致和预期的结果

if (x or y) is 'whatever':

或者最好是明确地将所有内容都这样布局

if x is 'whatever' or y is 'whatever':

最后一个总是有效,但我只是想让我的代码更简洁,同时仍然遵循最佳实践.我尝试进行搜索,以便不要问多余的问题,但是搜索“是”或“和”并且“相当困难”.在此先感谢您的任何帮助.

编辑:感谢大家的快速回复.当我需要’或’时,这对我来说非常有效

if 'whatever' in [x,y]:

但是,如果我需要’和’,我将如何缩小它?

if x == 'whatever' and y == 'whatever':

解决方法

或者不像英语那样工作.

如果x是真值,则x或y返回x,否则返回y.字符串是真的,如果它们不是空的.

更糟糕的是,“是”具有更高的优先级“或”,因此您的表达式与x相同或(y是“任何”).因此,如果x不为空,则返回x(这将为true,因此if将执行).如果x为空,它将评估y是’what’.

BTW:不要使用“is”来比较值相等,使用==.

你想要这个(parens可选):

if (x == 'whatever') or (y == 'whatever'):

或更简洁,但更陌生:

if 'whatever' in [x,y]:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读