Python

【Python】変数にデフォルト値を渡す方法

この記事では、変数にデフォルト値を渡す方法を解説します。

変数に値が入っていなければデフォルト値を代入したい場合、「三項演算子」や「or演算子」を使うことで定義することができます。

ちなみに、なんの値が代入されていたら値が入っていないと見なすかは状況によって異なる。

三項演算子を使う

三項演算子を使うことで変数の値がNoneの場合にデフォルト値を渡し、それ以外の場合は、その変数を渡すことで何もしないことができる。

val = デフォルト値 if val is None else val

試しに、変数の値がNoneの場合にデフォルト値を渡してみます。

# 値が存在しない場合
val = None
val = 'デフォルト値' if val is None else val
print(val)  # デフォルト値

# 値が存在する場合
val = 10
val = 'デフォルト値' if val is None else val
print(val)  # 10

値が存在しないと見なす値を増やしたい場合は、or演算子で条件を追加することで実装できます。以下のコードでは、0の場合もデフォルト値を代入します。

val = 0
val = 'デフォルト値' if val is None or val == 0 else val
print(val)  # デフォルト値

三項演算子を使ってif文を1行で記述する

or演算子を使う

論理演算子であるorを使うことでさらに簡単に定義できます。

val = val or デフォルト値

試しに、コードを書いてみます。

# 値が存在しない場合
val = None
val = val or 'デフォルト値'
print(val)  # デフォルト値

# 値が存在する場合
val = 10
val = val or 'デフォルト値'
print(val)  # 10

ただし、None以外の偽として判定される値が代入されている場合も値が存在しないとして見なされてしまうので注意してください。

val = 0
val = val or 'デフォルト値'
print(val)  # デフォルト値

val = []
val = val or 'デフォルト値'
print(val)  # デフォルト値

val = ''
val = val or 'デフォルト値'
print(val)  # デフォルト値

オブジェクトを比較する方法【比較演算子】