由于某种原因,此功能使我感到困惑:
def protocol(port):
return port == "443" and "https://" or "http://"
有人可以解释幕后发生的事情的顺序,以便按部就班地完成这项工作。
在尝试之前,我对此是这样理解的:
要么A)
def protocol(port):
if port == "443":
if bool("https://"):
return True
elif bool("http://"):
return True
return False
或B)
def protocol(port):
if port == "443":
return True + "https://"
else:
return True + "http://"
这是Python中的一种特殊情况,还是我完全误解了语句的工作方式?
这是一种古老的习语;插入括号以显示优先级,
(port == "443" and "https://") or "http://"
x and y
返回y
是否x
为真,x
如果x
为假;a or b
反之亦然,a
如果是空的,则返回,否则返回b
。
因此,如果port == "443"
为true,则返回的RHS
and
,即"https://"
。否则,该元素and
为false,因此or
起作用并返回 其 RHS “ http://” 。
在现代Python中,翻译这种古老习语的更好方法是:
"https://" if port == "443" else "http://"
问题内容: 我想在CI中组合AND OR mysql查询。我已经看过这个线程:http : //codeigniter.com/forums/viewthread/92818/。但是他们没有提供确切的解决方案。 如何严格使用CI框架创建以下查询? (我可以轻松地创建查询而无需使用方括号,但是它不是同一查询。) PS:这只是一个示例查询,即使没有意义,也不建议将查询的整个OR部分写在一个内。 编辑:
问题内容: 我想在Monoose中将两个OR查询与AND结合在一起,例如以下SQL语句: 我在NodeJS模块中尝试了此操作,该模块仅从主应用程序获取模型对象: 但这是行不通的,所有OR条件都将像下面的SQL语句一样连接在一起: 如何在猫鼬中结合AND 和AND 的两个条件? 问题答案: 直接按以下方式创建查询对象可能是最简单的: 但是,您也可以使用最新的3.x Mongoose版本中提供的帮助程
问题内容: 我有以下SQL语句: 我读过我可以使用括号来完成此操作,但我想知道这是否有效: 或者 问题答案: 这两个都是有效的,但是由于优先级高于,因此它们的含义有所不同: 您的第一个带括号的查询将选择类型为3、4、5的已删除行 第二个带括号的查询将选择类型为3、5的所有行,以及类型为4的已删除行。这与不带括号的原始查询的含义相同。 您可以使用operator完全避免混淆,如下所示: 或者如果您想
本文向大家介绍求结果(and or or)相关面试题,主要包含被问及求结果(and or or)时的应答技巧和注意事项,需要的朋友参考一下
我需要合并两个数据帧。为了确保行是唯一的,我需要在合并之前验证“Name”和“Age”是否匹配。我将组合用作主键。这是我的密码: 当我使用多个键(“姓名”和“年龄”)时,这是一个“和”或“或”匹配。我只希望它在“Name”和“Age”匹配时合并,而不是只在“Name”或“Age”匹配时合并。我似乎在文档中找不到这一点,我得到了一些混合的结果。 更新:由于数据原因,我确实需要进行左连接。右边的表是我
问题内容: 如该问题所述,我试图制定一个查询,该查询在列结果中包含一个case语句,然后我想将该列包含在查询的group by语句中。举一个具体的例子,这几乎是我查询的样子: 在来到这里之前,我检查了一些网站,包括该网站,以尝试解决我的问题。我尝试在链接的网页中显示“ like”之后添加另一个别名,但是没有运气。我继续收到的错误消息如下: 是否还有其他人遇到我所面临的问题,并且能够在声明的结果上使