Хотя ответ @ msw верен, вы можете подумать о том, что происходит, когда, например, эти объекты являются целыми числами или строками:
>>> a = 67
>>> b = 67
>>> c = 58
>>> a is b
True
>>> a is c
False
>>> a = 'dog'
>>> b = 'dog'
>>> c = 'cat'
>>> a is b
True
>>> a is c
False
Другими словами, по крайней мере, когда речь идет об этих типах данных, результат выражения is является результатом сравнения базовых значений на практике иногда действует так, как будто это сравнение значений из лежащих в основе, хотя на самом деле референсное сравнение делается .