回答編集履歴
2
修正・追記
test
CHANGED
@@ -14,9 +14,37 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
if values: は、Pythonにおいては if len(values) =
|
17
|
+
if values: は、Pythonにおいては if len(values) != 0: と同じように働きます。**(註)**
|
18
18
|
|
19
|
-
実は if x =
|
19
|
+
実は if x != "": も同様に if x: と書けます。if x == "": なら if not x: です。
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
---
|
24
|
+
|
25
|
+
**註:**
|
26
|
+
|
27
|
+
コメントにも指摘があるとおり、これはシーケンスに限った記述です。
|
28
|
+
|
29
|
+
リファレンスにはもう少し詳しく正確な解説があります。
|
30
|
+
|
31
|
+
> オブジェクトは、デフォルトでは真と判定されます。ただしそのクラスが `__bool__()` メソッドを定義していて、それが False を返す場合、または `__len__()` メソッドを定義していて、それが 0 を返す場合は偽と判定されます。
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
> 主な組み込みオブジェクトで偽と判定されるものを次に示します:
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
> - 偽であると定義されている定数: None と False
|
40
|
+
|
41
|
+
> - 数値型におけるゼロ: 0, 0.0, 0j, Decimal(0), Fraction(0, 1)
|
42
|
+
|
43
|
+
> - 空のシーケンスまたはコレクション: '', (), [], {}, set(), range(0)
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
引用元:[Python 標準ライブラリ » 組み込み型 » 真理値判定](https://docs.python.jp/3/library/stdtypes.html#truth)
|
20
48
|
|
21
49
|
|
22
50
|
|
1
追記
test
CHANGED
@@ -15,3 +15,19 @@
|
|
15
15
|
|
16
16
|
|
17
17
|
if values: は、Pythonにおいては if len(values) == 0: と同じように働きます。
|
18
|
+
|
19
|
+
実は if x == "": も同様に if x: と書けます。if x != "": なら if not x: です。
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
コードの書き方について
|
24
|
+
|
25
|
+
---
|
26
|
+
|
27
|
+
teratailには、コードを見やすく表示する機能があります。
|
28
|
+
|
29
|
+
質問編集画面を開き、コードを選択した状態で<code>ボタンを押してください。
|
30
|
+
|
31
|
+
![Python](56957fe805d9d7befa7dba6a98676d2b.gif)
|
32
|
+
|
33
|
+
特にPythonの場合、インデントが崩れるとコードの意味が変わってしまいます。
|