Python - 'is'と'=='の違い

Pythonで is==は条件で2つの変数がどうかをチェックするときに頻繁に使用するのに大きな違いがあります。誤って間違った演算子を使用して、プログラムが意図されたものとは異なる動作することができます。

1. is==の違い

is==はすべて変数の同等を比較が、次のような違いがあります。

  • isは変数のObject(オブジェクト)が同じ場合、Trueをリ
  • ==は変数のValue(値)が同じときにTrueをリ

2. is の例

次のコードではa、b、cはすべてempty listです。同じvalue(値)を持っているが、aとbは、他のobject(オブジェクト)であり、cはaと同じobject(オブジェクト)です。 結果を見ると、 a is c万Trueを返します。

a = []
b = []
c = a

result = (a is b)
print("a is b ?", result)

result = (a is c)
print("a is c ?", result)

result = (b is c)
print("b is c ?", result)

Output:

a is b ? False
a is c ? True
b is c ? False

3. ==

次のコードではa、b、cはすべてempty listです。 ==は変数のvalue(値)を比較するため、以下のコードで ==演算子の比較はすべてTrueを返します。

a = []
b = []
c = a

result = (a == b)
print("a == b ?", result)

result = (a == c)
print("a == c ?", result)

result = (b == c)
print("b == c ?", result)

Output:

a == b ? True
a == c ? True
b == c ? True

References

Related Posts

codechachaCopyright ©2019 codechacha