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]: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |