PythonのFalseとNoneについて簡単にまとめる

PythonにはFalseもあればNoneもあります。
PythonのTrue(真)、False(偽)、Noneについて書きます。

PythonのFalse一覧

・FalseはそのままFalse(当たり前)
・空のリスト([])はFalse
・空の辞書({})はFalse
・空の文字列("")はFalse
・0はFalse
・0.0はFalse
・Noneも型としてはFalse

上記以外はTrueとなります。

FalseとNoneのサンプル

0,0.0以外の数値はTrue

>>> x = 3
>>> if x:
...     print('これはprintされます。')
... 
これはprintされます。

>>> y = -6
>>> if y:
...     print('これもprintされます')
... 
これもprintされます

>>> z = 0
>>> if z:
...     print('Falseなのでprintされません。')
...
>>>

float型でも一緒です。

>>> if x:
...     print('x = 1.0')
... 
x = 1.0

>>> y = -2.4
>>> if y:
...     print('y = -2.4')
... 
y = -2.4

>>> z = 0.0
>>> if z:
...     print('これはprintされない')
... 
>>>

notを使えば否定

>>> x = 10
>>> if not x:
...     print('notがあるのでprintされません。')
... 
>>>

>>> z = 0
>>> if not z:
...     print('0をnotするので、通りますね。')
... 
0をnotするので、通りますね。

空のリスト、空の辞書、空の文字列はFalse

>>> x = []
>>> if not x:
...     print('xは空のリスト')
... 
xは空のリスト
>>> y = {}
>>> if not y:
...     print('yは空の辞書')
... 
yは空の辞書
>>> s = ""
>>> if not s:
...     print('sは空の文字列')
... 
sは空の文字列

bool()で真偽(True or False)判定

>>> z = 0
>>> bool(z)
False
>>> x = 33
>>> bool(x)
True
>>> y = -1
>>> bool(y)
True

NoneとFalseは同じではない

>>> x = 0
>>> if x is None:
...     print('xはNoneではないのでprintされません')
... 
>>> y = []
>>> if y is None:
...     print('yはNoneではないのでprintされません')
... 
>>> z = {}
>>> if z is None:
...     print('zはNoneではないのでprintされません')
... 
>>> s = ""
>>> if s is None:
...     print('sはNoneではないのでprintされません')
... 
>>> n = None
>>> if n is None:
...     print('nはNoneですね!')
... 
nはNoneですね!