回答編集履歴

1

補足を追加

2021/02/06 04:20

投稿

Daregada
Daregada

スコア11990

test CHANGED
@@ -1 +1,17 @@
1
1
  Pythonでは、`1 > -1 == (1-2)`は、`1 > -1 and -1 == (1-2)`と等価だからです。
2
+
3
+
4
+
5
+ 補足: これは、`0 < x < 100`みたいな式を`and`で分割せずに書くことを目的としています。詳細は公式ドキュメントを参照してください。
6
+
7
+
8
+
9
+ > 比較はいくらでも連鎖することができます。例えば x < y <= z は x < y and y <= z と等価になります。ただしこの場合、前者では y はただ一度だけ評価される点が異なります (どちらの場合でも、 x < y が偽になると z の値はまったく評価されません)。
10
+
11
+
12
+
13
+ > 形式的には、 a, b, c, ..., y, z が式で op1, op2, ..., opN が比較演算子である場合、 a op1 b op2 c ... y opN z は a op1 b and b op2 c and ... y opN z と等価になります。ただし、前者では各式は多くても一度しか評価されません。
14
+
15
+
16
+
17
+ [6. 式 (expression) — Python 3.9.1 ドキュメント](https://docs.python.org/ja/3/reference/expressions.html#comparisons)