【Python】変数に格納されている値・文字列の有無(NULL)を判定する方法
2020.05.04 /

Pythonでプログラムを作成するとき、変数に値または文字列が入っているかどうかで処理を分けたい場合があります。
変数に値が入ってない場合(NULL)と入っている場合をif文で判定するのはどう書けばいいのか?
今回の記事ではその判別が非常に簡単にできる方法を解説いたします。
リストやタプルで空であるか判別したい場合も同じような方法を取ります。詳しくは以下記事をご参照ください。

【Python】リスト・タプルで空の判定(判別)方法
またそもそも対象の変数が存在しているか(定義・宣言済みであるか)を判定する場合は別の方法を取ります。変数の存在有無の判定方法に関しては以下記事をご参照ください。

【Python】変数が存在するか(定義・宣言済みであるか)を確認する方法
notで有無を判定する
if not variable:
# 変数に値・文字列が入ってない場合の処理
else:
# 変数に値・文字列が入っている場合の処理
notを使うことで変数に値・文字列が入っているかどうかを判定することができます。
if not 変数名 がTrueの場合、変数は空(NULL)ということなので、その後に続いて変数になにも入ってない場合の処理を書きます。
len関数で有無を判定する
if len(variable) == 0:
# 変数に値・文字列が入ってない場合の処理
else:
# 変数に値・文字列が入っている場合の処理
変数に値・文字列が入っているかの判定方法2つ目として、len関数を使う方法があります。
len関数は引数に指定したオブジェクトの長さや要素の数を取得します。
引数には文字列やバイト列、リスト、タプル、辞書などのオブジェクトを指定することができます。
len関数の引数に空か判定したい変数を渡し、帰ってきた値が0の場合は空(NULL)であると判定することができます。
まとめ
変数に値・文字列が入っているかの確認には2つ方法がありましたね。
not 変数 で判定する方法と、len(変数)==0 で判定する方法です。
どちらを使っても結果は変わらないので好きなほうを使って大丈夫です。