2016-06-17 12 views
2

私は、Python 2.7を学習する過程で、現在午前のPython 2.7ブール演算子論理

私の質問は平等とブール演算子に遭遇してきた:

False and 1FalseですがTrue and 11

なぜ

同様に、False or 11ですがTrue or 1True

です

これはそれが見ている値、または最終

感謝

答えて

3

戻って最初の「falsy」(ゼロ、虚偽、空の文字列やリストなど)が起こっている理由を誰かが親切に説明することができますいずれも虚偽でない場合の価値。それ以上の値は結果を変更できないため評価されません。

またはは同様に最初の 'truthy'(True、非ゼロ、空でない文字列またはリストなど)の値を返します(存在しない場合は最後の値)残り。

この動作は、厳密にTrueまたはFalseのみを返す場合よりも便利な場合があります。

+0

ありがとうございました。私は、「0」以外の数字も「True」と考えることができるという事実を見逃していました。 –

+0

Btw、上記の論理によると、なぜあなたは 'Falseまたは0'が' 0'を返すと思いますか?この場合、どちらも実際には偽物ですね。 –

+1

@pb_ng答えは 'または'の場合の状態であることに注意してください。または同様に、最初に見られる真実の[...]値を返します(**または**がない場合は最後の値)。 'False or 0'に真の値がないので、最後の1つが結果になります。 – user4815162342