Pythonでは、文字列を数値に変換する際に、空文字(またはNone)を安全に変換する方法があります。具体的には、以下のようにします。
i = int("" or "0")
f = float(None or "0")
このコードでは、or
を使ってデフォルト値を指定しています。左辺がFalsy(つまり空文字やNone)の場合、右辺の文字列が評価され、結果的に右辺の値がデフォルト値となります。
Pythonのor
は、左辺がTruthyな値ならば左辺を、Falsyな値ならば右辺を返します。したがって、以下のような値はFalsyと評価されます。
- False
- 空のリスト([])
- 空の辞書({})
- 空の文字列(””)
- ゼロ(0, 0.0)
- None
以上の値以外はすべてTruthyな値となります。
この知識を活用すると、Pythonで文字列を数値に安全に変換することができます。特に、データの前処理やエラーハンドリングなどで役立つでしょう。