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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
>>> x = 3 >>> if x: ... print('これはprintされます。') ... これはprintされます。 >>> y = -6 >>> if y: ... print('これもprintされます') ... これもprintされます >>> z = 0 >>> if z: ... print('Falseなのでprintされません。') ... >>> |
float型でも一緒です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
>>> 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を使えば否定
1 2 3 4 5 6 7 8 9 10 11 |
>>> x = 10 >>> if not x: ... print('notがあるのでprintされません。') ... >>> >>> z = 0 >>> if not z: ... print('0をnotするので、通りますね。') ... 0をnotするので、通りますね。 |
空のリスト、空の辞書、空の文字列はFalse
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
>>> 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)判定
1 2 3 4 5 6 7 8 9 |
>>> z = 0 >>> bool(z) False >>> x = 33 >>> bool(x) True >>> y = -1 >>> bool(y) True |
NoneとFalseは同じではない
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
>>> 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ですね! |