Pythonのプール値を「is」と「==」で比較する

Pythonの「==」は値を比較し、「is」はオブジェクトの同一性を比較する。
「==」を使用するとき、異なるオブジェクトでもTrueになることがある。

i = 1
print(i == True) #=> True
print(i is True) #=> False

上のコードでは、
変数iはTrueに評価される値のため、「i == True」はTrueになる。
変数iはTrueではないため、「i is True」はFalseになる。

「if i:」と「if i == True:」は、iがTrueに評価される値なら、という意味になるが、
「if i is True:」は、iがTrueなら、という意味になる。

「is」と「==」のどちらを使うべきかは、使用する目的によって決まる。

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください