2
我目前在學習Python 2.7版的過程和所遇到的平等和布爾運算符的Python 2.7布爾運算符邏輯
我的問題是:
爲什麼False and 1
是False
但True and 1
是1
同樣,False or 1
是1
但是True or 1
是True
有人能解釋好心爲什麼發生這種情況
非常感謝
我目前在學習Python 2.7版的過程和所遇到的平等和布爾運算符的Python 2.7布爾運算符邏輯
我的問題是:
爲什麼False and 1
是False
但True and 1
是1
同樣,False or 1
是1
但是True or 1
是True
有人能解釋好心爲什麼發生這種情況
非常感謝
和返回第一個「falsy」(假,零,空字符串或列表等)價值它看到,或者最終如果沒有人是虛假的,那麼值。其他值甚至沒有被評估,因爲它們不能改變結果。
或同樣返回它看到的第一個「truthy」(真,非零,非空字符串或列表等)值(或最後一個如果沒有),並且不評估其餘的部分。
此行爲有時比嚴格僅返回True或False更方便。
謝謝賈森。我錯過了「0」以外的任何數字也可以被視爲「真」。 –
順便說一下,按照上面的邏輯,爲什麼你認爲'False或0'返回'0'。在這種情況下,他們倆實際上都是Falsies,不是嗎? –
@pb_ng請注意,對於'or':「或者同樣返回它所看到的第一個」truthy「值(**或最後一個沒有**)的情況下,答案會顯示」「。 'False或0'中沒有真值,所以最後一個0就是結果。 – user4815162342