回答編集履歴
1
微修正
test
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
`not`は[ブール演算子](http://docs.python.jp/3/reference/expressions.html#not)のうち論理否定の演算子ですよね。つまり、真か偽の値 (ブール値、論理値) に対して、逆の真理値を返します。
|
2
2
|
|
3
|
-
たとえば、ある関数を、あるメソッド呼び出しが成功したらTrue (真)、失敗するとFalse (偽) を返すように作りたいとします。ところがそのメソッドは成功すると0を返し、失敗すると0以外を返すのだとします。そ
|
3
|
+
たとえば、ある関数を、あるメソッド呼び出しが成功したら`True` (真)、失敗すると`False` (偽) を返すように作りたいとします。ところがそのメソッドは成功すると`0`を返し、失敗すると`0`以外の数を返すのだとします。Pythonでは`0`は偽、それ以外の数は真として扱われますから、逆になっています。
|
4
|
+
|
5
|
+
そういうときは
|
4
6
|
|
5
7
|
```lang-python
|
6
8
|
return not aMethod()
|
@@ -9,5 +11,5 @@
|
|
9
11
|
|
10
12
|
としてやれば、真偽が逆になって期待通りの結果になりますね。
|
11
13
|
|
12
|
-
標準ライブラリなどにも、このように成功で0、失敗で非0を返すようなメソッドがありますので、真偽値を反転させる`not`と`return`がよく組み合わせて使われるのだと思います。
|
14
|
+
標準ライブラリなどにも、このように成功で0、失敗で非0の数を返すようなメソッドがありますので、真偽値を反転させる`not`と`return`が、よく組み合わせて使われるのだと思います。
|
13
15
|
|