回答編集履歴

4

説明を戻す

2020/05/06 04:04

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -10,6 +10,6 @@
10
10
 
11
11
 
12
12
 
13
- `queue.Queue` には `__bool__` も `__len__` も定義されていないため、`bool(queue)` は真と判定、つまり `True` になります。
13
+ `queue.Queue` には `__bool__` も `__len__` も定義されていないため、`bool(queue)` は常に真と判定、つまり `True` になります。
14
14
 
15
15
  したがって、`while queue:` は `while True:` と同等で無限ループになります。

3

説明を少し変更

2020/05/06 04:04

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -10,6 +10,6 @@
10
10
 
11
11
 
12
12
 
13
- `queue.Queue` には `__bool__` も `__len__` も定義されていないため、`bool(queue)` は常に真と判定、つまり `True` になります。
13
+ `queue.Queue` には `__bool__` も `__len__` も定義されていないため、`bool(queue)` は真と判定、つまり `True` になります。
14
14
 
15
15
  したがって、`while queue:` は `while True:` と同等で無限ループになります。

2

説明を少し変更

2020/05/06 04:00

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -10,6 +10,6 @@
10
10
 
11
11
 
12
12
 
13
- `queue.Queue` には`__bool__` も `__len__` も定義されていないため、`bool(queue)` は常に `True` になります。
13
+ `queue.Queue` には `__bool__` も `__len__` も定義されていないため、`bool(queue)` は常に真と判定、つまり `True` になります。
14
14
 
15
- したがって、`while queue:` は `while True` と同等で無限ループになります。
15
+ したがって、`while queue:` は `while True:` と同等で無限ループになります。

1

引用部分のエスケープ処理。不要記述削除

2020/05/06 03:59

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -6,15 +6,7 @@
6
6
 
7
7
  https://docs.python.org/ja/3/library/stdtypes.html#truth
8
8
 
9
- > オブジェクトは、デフォルトでは真と判定されます。ただしそのクラスが __bool__() メソッドを定義していて、それが False を返す場合、または __len__() メソッドを定義していて、それが 0 を返す場合は偽と判定されます。 1 主な組み込みオブジェクトで偽と判定されるものを次に示します:
9
+ > オブジェクトは、デフォルトでは真と判定されます。ただしそのクラスが `__bool__()` メソッドを定義していて、それが `False` を返す場合、または `__len__()` メソッドを定義していて、それが `0` を返す場合は偽と判定されます。
10
-
11
-
12
-
13
- > * 偽であると定義されている定数: None と False
14
-
15
- > * 数値型におけるゼロ: 0, 0.0, 0j, Decimal(0), Fraction(0, 1)
16
-
17
- > * 空のシーケンスまたはコレクション: '', (), [], {}, set(), range(0)
18
10
 
19
11
 
20
12