Pythonインタープリターで次を実行します。
>>> foo = 10 >>> dir(foo) == dir(10) True >>> dir(foo) is dir(10) False >>>
どうしてこれなの?
isは2つの引数が同じオブジェクトを参照していることを確認し、==は2つの引数が同じ値を持っていることを確認します。 dir()は、listと10の両方に同じデータを含むfooを返しますが、2つのものの実際のlistインスタンスは異なります。
is
==
dir()
list
10
foo