[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Explanation of list reference

On Sunday, February 16, 2014 9:59:53 PM UTC+5:30, Ned Batchelder wrote:
> On 2/16/14 9:00 AM, Rustom Mody wrote:
> > On Saturday, February 15, 2014 7:14:39 PM UTC+5:30, Marko Rauhamaa wrote:
> >> Mark Lawrence:
> >>> I have no interest in understanding object identity, I can write code
> >>> quite happily without it.
> >> Luckily, what we are now debating is mostly terminology and points of
> >> view where the outcomes are unaffected.
> >> However, as an example, it is important to know if you should write:
> >>     if x is not None:
> >>         ...
> >> or if
> >>     if x != None:
> >>         ...
> >> is more robust.
> > Yes This is my main beef:
> > Not that both are possible but that the first is *recommended* and the second not.

> I'm not sure why you don't like the recommendation, or if you just want 
> people to be more explicit about why it is recommended.  My main reason 
> for preferring "x is not None" is that if x's class defines __ne__ 
> incorrectly, "x != None" can come out wrong.  And yes, I have actually 
> debugged problems where that was the root cause.

> If you use "x is not None", nothing about x's class can interfere with 
> the correct operation.

But for that Ive to use is
And as a teacher Ive to explain is
Might as well use C and get on with pointers

To me 'is' is a can of worms
Mostly I dont need to open that can
In the few instances when I need to open it, I am allowed (I hope!)
to say "Ugh!"