[Python]isと==の違い
== Pythonで、値が同じであれば"=="はTrueを返します. 参照が同じまたは異なるが、「値」のみが同じであることを確認します.
is Pythonでは、参照が同じであれば「is」はTrueを返します. 参照がの場合、値も同じです. isを使用して、変数が指すオブジェクト(アドレス)が同じかどうかを決定します.
a = 1
b = a
c = 1
d = 2
if a == b: # True
print('True')
else:
print('False')
if a == d: # False
print('True')
else:
print('False')
if a is b: # True
print('True')
else:
print('False')
if a is c: # True
print(hex(id(a))) # 0x1d074736930
print(hex(id(c))) # 0x1d074736930
print('True')
else:
print('False')
if a is d: # False
print('True')
else:
print(hex(id(a))) # 0x1d074736930
print(hex(id(d))) # 0x1d074736950
print('False')
if a: # True
print('True')
else:
print('False')
Reference
この問題について([Python]isと==の違い), 我々は、より多くの情報をここで見つけました https://velog.io/@kimkrh/Python-is와-의-차이テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol