[Python-Dev] Identity implies equality

Nick Coghlan ncoghlan at gmail.com
Fri Apr 29 00:43:10 CEST 2011


On Fri, Apr 29, 2011 at 5:51 AM, Raymond Hettinger
<raymond.hettinger at gmail.com> wrote:
> *  x = obj implies x == obj   # assignment really works

While I agree with your point of view regarding the status quo as a
useful, practical compromise, I need to call out that particular
example:

>>> nan = float('nan')
>>> x = nan
>>> x == nan
False
>>> x in locals().values()
True

Due to rich comparison and the freedom to implement non-reflexive
definitions of "equality", the assignment "x = obj" implies only that:
- x is obj
- x in locals().values()

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the Python-Dev mailing list