Python3独習メモ その2(2022-01-12)

前回 の続き

同値性と同一性

同値性は==演算子、同一性はis。

‘abc’と同じ値の文字列を別々に生成してもpython実行環境がオブジェクトを再利用し同一性を持つ場合もあるみたいなので、どちらの演算子でもOKではなく、文脈に沿った正しい演算子を使うのが良い。

Noneの評価はisを使うお作法。pythonには演算子をオーバーロードする仕組みがあるため==演算子ではNoneと言い切れないためisを使うらしい。

hoge == None # オーバーロードされて None 以外でも真って実装もありうるので
hoge is None # 普通はこっち。

論理演算子

if

switch/match

switch

match