##
2.3.1 真値テスト

どのオブジェクトも `if` または `while` 条件文の中や、 以下のブール演算における被演算子として真値テストを行うことができます。 以下の値は偽であると見なされます:

- `None`

- `False`

- 数値型におけるゼロ。例えば `0` 、 `0L` 、 `0.0` 、 `0j` 。

- 空の配列型。例えば `''` 、 `()` 、 `[]` 。

- 空のマッピング型。例えば `{}` 。

- `__nonzero__()` または `__len__()` メソッドが 定義されているようなユーザ定義クラスのインスタンスで、それらのメソッド が整数値ゼロまたは `bool` 値の `False` を返すとき。 2.6

それ以外の値は全て真であると見なされます -- 従って、ほとんどの型 のオブジェクトは常に真です。

ブール値の結果を返す演算および組み込み関数は、特に注釈のない限り常に 偽値として `0` または`False` を返し、真値として `1` または `True` を返します (重要な例外: ブール演算 "`or`" および "`and`" は常に被演算子 の中の一つを返します)。

... を返すとき。2.6
  これらの特殊なメソッドに関する追加情報は Python リファレンスマニュアルに記載されています。