回答編集履歴

1

微修正

2016/11/16 07:33

投稿

ikedas
ikedas

スコア4317

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