\

Pythonでは、変数がNoneの場合、その文字列表現はブランクではなく’None’という文字列となります。しかし、Noneの場合にブランクにしたい場合があります。そのような場合、以下のように書くことができます。

if s is None:
    s = ""

しかし、これは少々面倒です。そこで、Pythonのor演算子を活用することで、より簡潔に書くことができます。or演算子は、左側がFalseの場合に右側の値を返す性質があります。Pythonでは、NoneはFalseと評価されます。したがって、以下のように書くことで、変数がNoneの場合にブランクを設定することが可能です。

s = None
text = s or ""

このように書くことで、変数がNoneの場合はor演算子の右側のブランクが採用されます。

また、ブランク自身も論理演算上ではFalseと評価されるため、これを利用すると逆、つまりブランクの場合はNoneにする、ということも可能です。

s = ""
text = s or None

このテクニックはリストや整数型を想定した変数など、様々な場面で応用が効きます。例えば、リストかNoneが入っている変数に対してfor文を記述した場合、その変数がNoneの場合だとエラーとなります。しかし、以下のようにor演算子を使うことで対処することが可能です。

for val in (values or []):
    pass

以上、PythonでNoneとブランクを扱う方法について解説しました。このテクニックを活用することで、Pythonのコードをより簡潔に、そして効率的に書くことができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です