Es scheint, dass die Bedeutung etwas anders ist als "==". "is" ist eine exakte Übereinstimmung einschließlich des Typs.
print(1 == True) # True
print(1 is True) # False
Auch beim Vergleich zwischen Sequenzen ist ein Unterschied zu erkennen.
li = [1,2,3]
st = [1,2,3]
print(li == st) # True
print(li is st) # False
Übrigens habe ich einen ähnlichen Beitrag in Javascript gepostet. http://qiita.com/juniskw/items/4a1f4d91fdf759e6a3da
Selbst wenn die beiden Arrays den gleichen Wert haben, scheinen sie unterschiedliche Objekte zu sein, sodass es einen Unterschied zu geben scheint. Vergleicht "==" einfach Werte und "is" vergleicht die Objekte selbst?
Oder besser gesagt, ich habe es zum ersten Mal bemerkt, aber es scheint, dass das gleiche "==", aber Python und Javascript leicht unterschiedliche Bedeutungen haben.
Recommended Posts