【发布时间】:2011-02-04 12:23:19
【问题描述】:
由于某种原因,这个功能让我很困惑:
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 中的某种特殊情况,还是我完全误解了语句的工作原理?
【问题讨论】:
-
@Responders,请参阅我 1 分钟后的更新。对不起。
-
只记得'and'和'or'语句返回最后一个要计算的表达式。 :)
标签: python boolean-logic if-statement