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

|
17
|
+
特にPythonの場合、インデントが崩れるとコードの意味が変わってしまいます。
|