Python: 条件式での「True」と「False」の扱い

「True」と「False」の扱い

条件判断をする際に注意しておくことがあります。

文字列や数値もTrue、Falseで判定することができます。
例えば次のようなコードで True、False 判定が可能です。

a = 0

if a:
	print(True)
else:
	print(False)

True、False 判定をする場合、数値の0と文字列の空の値は False と判定され、 それ以外は True と判定されます。 表にすると次の通りです。

データ型TrueFalse
数値0以外0
文字列空の値以外空の値(None)

条件判断時に「数値の0と空の値は False として判定される」 ことを認識しておいてください。

次のコードで変数「a」にいろいろな値を代入して、 どのように判定されるのかを試した結果が下の表です。

a = 0

if a:
	print(True)
else:
	print(False)
「a」の値True / False
0False
1True
NoneFlase
""False
"hoge"True
"0"True
"\n"True
"\t"True
" "(スペース)True