【python】if文を使わずに変数のNoneを判定する方法

python

変数に値が設定されていればその値を、Noneであれば別の値を設定するような処理では、orを使うとif文を使わずに書くことができます。

if __name__ == "__main__":
    str1 = None
    str2 = 'str2'
    print((str1 or '') +' --- ' + (str2 or ''))
    # 出力 ->  --- str2
    str1 = 'str1'
    print((str1 or '') +' --- ' + (str2 or ''))
    # 出力 -> str1 --- str2

or使っているので、結局は条件分岐として処理されているので、あまり変わらないかも?
ソースコードがスッキリするという利点はありそうです。

この方法を調べた理由は、SonarQubeでソースコードの評価をされたときに、「if文多すぎぃ!」と怒られたからです。
if分岐を減らすの難しい。。
精進します。

Follow me!

コメント

PAGE TOP
タイトルとURLをコピーしました