[英]In python, is 'foo == (8 or 9)' or 'foo == 8 or foo == 9' more correct?
在python中編程時,當你檢查一個語句是否為真時,使用foo == (8 or 9)
或foo == 8 or foo == 9
會更正確嗎? 這只是程序員選擇做的事情嗎? 我想知道python 2.7,以防它在python 3中有所不同。
你可能想要foo == 8 or foo == 9
,因為:
In [411]: foo = 9
In [412]: foo == (8 or 9)
Out[412]: False
In [413]: foo == 8 or foo == 9
Out[413]: True
畢竟, (8 or 9)
等於8
:
In [414]: (8 or 9)
Out[414]: 8
或者,你也可以寫
foo in (8, 9)
這適用於Python3和Python2。
foo == (8 or 9)
與foo == 8 or foo == 9
,后者是正確的形式。
(8 or 9)
計算結果為8
因為在Python中or
計算到第一個操作數(從左到右)是'truthy',否則為False
如果兩者都不是),因此檢查變為普通foo == 8
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.