Hello,

The following behaviour seen in 3.2 seems very strange to me:

As expected:
>>> () == []
False

However:
>>> ().__eq__([])
NotImplemented
>>> [].__eq__(())
NotImplemented

And:
>>> bool(NotImplemented)
True

Hence:
>>> bool(().__eq__([]))
True
>>> ( () == [] ) != ( ().__eq__([]) )
True

How/why can this be intended?

Thanks, everybody.

Markus R.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to