【发布时间】:2016-09-28 22:17:45
【问题描述】:
为什么在第 3 种情况下它会返回 77?这不是一个布尔语句吗?请注意,案例 1 和 2 返回 False。情况2和3有什么区别?
7 >= 77 and 77
Out[313]: False
7 >= 77 and 7
Out[314]: False
7 >= 7 and 77
Out[315]: 77
7 >= 8 and 77
Out[318]: False
谢谢
关于@Kasramvd 的评论,即我的问题与其他用户的问题完全相同(见下文)
对于我这个新手来说,我的问题与下面的问题完全一样,这一点并不明显。专家可以很容易地看到相同的答案适用于两者。阅读答案后,我确实看到了一个链接。在得到答案之前,我不可能知道。
我是编程新手。这是我第一次加入 stack over flow。这是我关于stackoverflow的第一个问题。看来stackoverflow对新手不友好。感谢您阻止我提出更多问题。我也发现了这一点。
另一个用户的问题
我试图从别人的项目中理解这段代码。如果你想要上下文,它在这里:https://github.com/newsapps/beeswithmachineguns/blob/master/beeswithmachineguns/bees.py#L501
IS_PY2 只是一个布尔变量,如果 Python 主要版本为 2,则为 True。我知道非空字符串为 True,但由于某种原因,我不明白 openmode 被分配了“w”或“wt”而不是对或错。
openmode = IS_PY2 and 'w' or 'wt'
openkwargs = IS_PY2 and {} or {'encoding': 'utf-8', 'newline': ''}
【问题讨论】:
-
查看原始问题的编辑以澄清@Kasramvd
-
@HuyNguyen 没有人会阻止您提出更多问题。这是这个社区趋于管理的最佳方式。每个新人在开始之前都应该阅读documentation first。
-
@Kasramvd,不同的问题具有相同的根本原因。与上面的问题一样,我的问题是关于带有比较符号(>、