回答編集履歴

3

追記

2019/03/02 11:39

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -8,6 +8,28 @@
8
8
 
9
9
 
10
10
 
11
+ > どのようなオブジェクトでも真理値として判定でき、 if や while の条件あるいは以下のブール演算の被演算子として使えます。
12
+
13
+
14
+
15
+ > ...中略...
16
+
17
+
18
+
19
+ > 主な組み込みオブジェクトで偽と判定されるものを次に示します:
20
+
21
+ - 偽であると定義されている定数: None と False
22
+
23
+ - 数値型におけるゼロ: 0, 0.0, 0j, Decimal(0), Fraction(0, 1)
24
+
25
+ - 空のシーケンスまたはコレクション: '', (), [], {}, set(), range(0)
26
+
27
+
28
+
29
+ 引用元: [Python 標準ライブラリ » 真理値判定](https://docs.python.org/ja/3/library/stdtypes.html#truth-value-testing)
30
+
31
+
32
+
11
33
  ---
12
34
 
13
35
  **註記**
@@ -15,3 +37,9 @@
15
37
  もっと詳しく言うと、bが返ります。
16
38
 
17
39
  試しに print('abc' and 'def') とすると 'def' が返ることが確認できます。
40
+
41
+
42
+
43
+ 『適当な文字列同士で and を取るとどうやらTrueになる』というのは誤りですが、
44
+
45
+ if文の条件として使う分には真値とTrueを同一視してもコーディングに支障は無いでしょう。

2

追記

2019/03/02 11:39

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,7 +1,17 @@
1
- a and bは、aもbも真値であるときに真値を返します。
1
+ a and bは、aもbも真値であるときに真値を返します。(註)
2
2
 
3
3
 
4
4
 
5
5
  Pythonにおいては空でない文字列は真値ですので、
6
6
 
7
7
  空でない適当な文字列同士のandを取ると常に真値が返ることになります。
8
+
9
+
10
+
11
+ ---
12
+
13
+ **註記**
14
+
15
+ もっと詳しく言うと、bが返ります。
16
+
17
+ 試しに print('abc' and 'def') とすると 'def' が返ることが確認できます。

1

修正

2019/03/02 11:34

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,7 +1,7 @@
1
- a and bは、aもbも真値であるときにTrueを返します。
1
+ a and bは、aもbも真値であるときに真値を返します。
2
2
 
3
3
 
4
4
 
5
5
  Pythonにおいては空でない文字列は真値ですので、
6
6
 
7
- 空でない適当な文字列同士のandを取ると常にTrueが返ることになります。
7
+ 空でない適当な文字列同士のandを取ると常に真値が返ることになります。