A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2004-March/043308.html below:

[Python-Dev] Re: redefining is

[Python-Dev] Re: redefining isThomas Heller theller at python.net
Fri Mar 19 14:06:01 EST 2004
Casey Duncan <casey at zope.com> writes:

> On Fri, 19 Mar 2004 19:31:16 +0100
> Thomas Heller <theller at python.net> wrote:
>
>> 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.
>
> 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.

Ok, so I propose to add a isNone operator or builtin function =:)

Thomas


More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4