カリフォルニア大学バークレー校で提供されているコンピューターコースのラボ資料を調べていたところ、Pythonに関するテストの質問の形でいくつかの例に出くわしました。
1と2と3の答え3
私は指が赤くなるまでそれをくすくす笑いましたが、役に立たなかった..誰かがこれを説明するいくつかのドキュメントに私を導くのに親切で十分でしょうか?? ここで何が起こっているのかわかりません。
カリフォルニア大学バークレー校で提供されているコンピューターコースのラボ資料を調べていたところ、Pythonに関するテストの質問の形でいくつかの例に出くわしました。
1と2と3の答え3
私は指が赤くなるまでそれをくすくす笑いましたが、役に立たなかった..誰かがこれを説明するいくつかのドキュメントに私を導くのに親切で十分でしょうか?? ここで何が起こっているのかわかりません。
言語リファレンスを参照してください:
他のすべての値はtrueとして解釈されます。
たとえば、0より大きい数値はtrueとして解釈されます。
式
x and y
は最初にxを評価します。xがfalseの場合、その値が返されます。それ以外の場合は、yが評価され、結果の値が返されます。
その実際の値(解釈された値ではない)が返されます。
x
y
xと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のやり方です。最後に評価された値を返します。それがあなたの質問に答えることを願っています!