[Python-Dev] redefining is
Thomas Heller
theller at python.net
Fri Mar 19 13:31:16 EST 2004
Barry Warsaw <barry at python.org> writes:
> On Fri, 2004-03-19 at 12:59, Michael Chermside wrote:
>
>> Identity Objects can be (meaningfully) compared by:
>>
>> * Object Identity
>> To see if these are "the same object". Also useful
>> for low-level memory stuff according to Tim.
>> (just use '==', although 'is' would work too)
>
> Using == for identity objects is the wrong thing. We should discourage
> tests like "if obj == None" in favor of "if obj is None".
The problem (if there is any) with 'is' is that it exposes
implementation details, therefore it should not be used unless on really
knows what one is doing.
And 'if obj is None' gains performance by relying on one of these.
So I would consider 'if obj == None' correct, but unoptimized code.
Thomas
More information about the Python-Dev
mailing list