[Python-Dev] Re: redefining is

Barry Scott nospam at barrys-emacs.org
Fri Mar 19 15:04:44 EST 2004


This is why you cannot mess with "is". We replaced all the "== None"
with "is None" in our code to avoid tracebacks when the __eq__ method
fails on a None. yes there is a bug in the __eq__ code, but I don't
want the __eq__ code run at all in almost all cases.

Barry

At 19-03-2004 18:54, Casey Duncan wrote:
> > So I would consider 'if obj == None' correct, but unoptimized code.
>
>The problem is that 'obj == None' is not the assertion you want to make
>usually. 'obj == None' means "obj claims it is equal to None", whereas
>'obj is None' means 'obj is the None object'. The latter is a much more
>stringent assertion than the former which relies on the particular
>implementation of obj.
>
>-Casey





More information about the Python-Dev mailing list