web-dev-qa-db-ja.com

double equals vs is python

Pythonインタープリターで次を実行します。

>>> foo = 10
>>> dir(foo) == dir(10)
True
>>> dir(foo) is dir(10)
False
>>> 

どうしてこれなの?

73
ben

isは2つの引数が同じオブジェクトを参照していることを確認し、==は2つの引数が同じ値を持っていることを確認します。 dir()は、list10の両方に同じデータを含むfooを返しますが、2つのものの実際のlistインスタンスは異なります。

135
Silas Ray