カリフォルニア大学バークレー校で提供されているコンピューターコースのラボ資料を調べていたところ、Pythonに関するテストの質問の形でいくつかの例に出くわしました。
1と2と3の答え3
私は指が赤くなるまでそれをくすくす笑いましたが、役に立たなかった..誰かがこれを説明するいくつかのドキュメントに私を導くのに親切で十分でしょうか?? ここで何が起こっているのかわかりません。
カリフォルニア大学バークレー校で提供されているコンピューターコースのラボ資料を調べていたところ、Pythonに関するテストの質問の形でいくつかの例に出くわしました。
1と2と3の答え3
私は指が赤くなるまでそれをくすくす笑いましたが、役に立たなかった..誰かがこれを説明するいくつかのドキュメントに私を導くのに親切で十分でしょうか?? ここで何が起こっているのかわかりません。
言語リファレンスを参照してください:
他のすべての値はtrueとして解釈されます。
たとえば、0より大きい数値はtrueとして解釈されます。
式
x and yは最初にxを評価します。xがfalseの場合、その値が返されます。それ以外の場合は、yが評価され、結果の値が返されます。
その実際の値(解釈された値ではない)が返されます。
xyxとyの両方がtrueの場合、trueを返します。while
またはは、いずれxかyがtrueの場合に戻ります。
同様に、すべてが真の場合、
複数andが返されます。true
ドキュメントから:
式xおよびyは最初にxを評価します。xがfalseの場合、その値が返されます。それ以外の場合は、yが評価され、結果の値が返されます。
式xまたはyは最初にxを評価します。xがtrueの場合、その値が返されます。それ以外の場合は、yが評価され、結果の値が返されます。
bool(1) = True、 それだけbool(0) = False
Pythonでは、0以外のすべての数値はとして評価されTrueます。0のみがとして評価されFalseます。このコードでは、1 and 2 and 3実際にはとして評価されTrue and True and Trueます。したがって、を返す必要がありTrueます。これで、3はと同じであることがわかりましたTrue。そのため、インタプリタは3を返すのが正しいのです。では、生活を楽にして戻ることができるのに、なぜ3を返すのTrueでしょうか。これがPythonのやり方です。最後に評価された値を返します。それがあなたの質問に答えることを願っています!