Python

【Python】変数の存在確認

この記事では、Pythonで定義した変数に値があるかどうかを確認する方法とそもそも変数が存在するかどうかを確認する方法を解説します。

変数の値があるかどうか

変数の値があるかどうか確認するには、if文にその変数を指定することで判別できます。

num = 0

# 数値型は0ならFalse、それ以外ならTrueになる
if num:
    print('値が存在する')
else:
    print('値がありません')


s = ''

# 文字列やリストなんかは空ならFalse、空でなければTrue
if s:
    print('値が存在する')
else:
    print('値がありません')

実行結果

値がありません
値がありません

変数の値がNoneかどうか判定する場合は、is演算子を使う。

num = None

if num is None:
    print('Noneです')
else:
    print('Noneではありません')

実行結果

Noneです

変数に値が存在しない場合にデフォルト値を渡したい時は、論理演算子のorを使うことで簡単に実装できる。

num = None

# numに値があればnumが代入され、なければ1が代入される
num = num or 1
print(num)

実行結果

1

変数が存在するかどうか

変数自体が存在するかどうかを判別したい場合は、locals()関数が取り扱う辞書に変数の名前のkeyが存在するかどうかを判定することで確認することができます。

num = None

if 'num' in locals():
    print('変数が存在する')
else:
    print('変数が存在しない')

実行結果

変数が存在する

try文を使うことでも変数が存在しない場合のコードを書くことができます。

try:
    print(num)
except NameError:
    print('変数が存在しません')

実行結果

変数が存在しません

まとめ

この記事では、変数の値があるかどうかと変数自体が存在するかどうかを判別する方法を見てきました。変数の状態によって処理を変えることで柔軟性の高いプログラムを作成できます。

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ

最短3か月でエンジニア転職『DMM WEBCAMP COMMIT』