2016-10-08 13 views
0
k = 10/3 
l = k <= 3 or True 

このコードのlの値はTrueを返します。これはどのように可能ですか?評価の順序では、 "or、not、and"演算子よりも優先順位が高くなります。Pythonでの評価順序

+0

私は短い質問を補うために大きなトップの答えが存在するこの質問にこれをdupingしています。http://stackoverflow.com/questions/16069517/python-logical-evaluation-order-in-if-statement –

答えて

0

彼らは高い優先度を持っている、しかし、or operator works by

表現x or yが最初xを評価します。 xが真の場合、その値が返されます。それ以外の場合はyが評価され、結果の値が返されます。 k以来

k <= 3Falseで、3.3333333333333335で、Trueは(自分自身に)評価されることになるだろうとl == Trueを作っ返されます。