Pythonのisと==

1201 ワード

以前Javaを勉強していたとき、文字列が等しいかどうかを判断するにはequals(str)メソッドを使用し、直接==を使用することはできませんでした.equalsは値が同じか否かを判断し,==は参照が同じか否かを判断する.同じ内容の2つの文字列は、参照が異なる場合があります.
今日もPythonで文字列が等しいかどうかを判断する問題があり、Pythonで文字列にequalsメソッドがあるかどうかを知りたいのですが、見つかりませんでした.StackOverFLowで1編の討論.を見たのもこの質問で、2つの答えがよく書かれています.
The operator  a is b  returns True if a and b are bound to the same object, otherwise False. When you create two empty lists you get two different objects, so  is  returns False (and therefore  is not returns True).
  is  is the identity comparison. #比較参照が同じかどうか==  is the equality comparison. #比較内容が同じかどうか
 
例えば、この例では、
>>> [] is []

False

>>> [] == []

True

>>>

pythonで変数を新規作成する場合、各変数は実際には参照であり、オブジェクトエンティティへのポインタであるため、タイプを指定する必要はありません.
isは,このポインタの値が同じか否かを判断し,同じであれば2つの変数が同じオブジェクトエンティティを指すことを示す.
==では、JavaのStringとは異なる内容が同じかどうかを比較します.