回答編集履歴

2

修正

2019/09/07 23:06

投稿

8524ba23
8524ba23

スコア38341

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- そして
11
+ ~~そして~~ 以下、別の話となるので今回は無視してください。
12
12
 
13
13
 
14
14
 
@@ -16,4 +16,14 @@
16
16
 
17
17
 
18
18
 
19
- とのことです。すなわち`if 変数 is not None`が良いでしょう。
19
+ とのことです。すなわち~~`if 変数 is not None`が良いでしょう。~~
20
+
21
+
22
+
23
+ - 「変数が`None`か」判定したい場合は`if 変数 is None`
24
+
25
+ - 「変数が`None`ではないか」判定したい場合は`if 変数 is not None`
26
+
27
+
28
+
29
+ が良いでしょう。

1

修正

2019/09/07 23:06

投稿

8524ba23
8524ba23

スコア38341

test CHANGED
@@ -1,4 +1,14 @@
1
1
  [if not a in b / if a not in b](https://teratail.com/questions/198601)の回答にも挙げられていますが、[PEP8のプログラミングに関する推奨事項](https://pep8-ja.readthedocs.io/ja/latest/#id41)によると
2
+
3
+
4
+
5
+ > None のようなシングルトンと比較をする場合は、常に is か is not を使うべきです。絶対に等値演算子を使わないでください。
6
+
7
+ また、 本当は if x is not None と書いているつもりで、 if x と書いている場合は注意してください - たとえば、デフォルトの値がNoneになる変数や引数に、何かしら別の値が設定されているかどうかをテストする場合です。この「別の値」は、ブール型のコンテクストでは False と評価される(コンテナのような)型かもしれませんよ!
8
+
9
+
10
+
11
+ そして
2
12
 
3
13
 
4
14
 
@@ -6,4 +16,4 @@
6
16
 
7
17
 
8
18
 
9
- とのことです。
19
+ とのことです。すなわち`if 変数 is not None`が良いでしょう。