簡體   English   中英

在python中,'foo ==(8或9)'或'foo == 8或foo == 9'更正確嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM