negative numbers are not equal...

Steven D'Aprano steve at REMOVE-THIS-cybersource.com.au
Fri Aug 15 09:14:08 EDT 2008


On Thu, 14 Aug 2008 20:44:32 -0700, castironpi wrote:

> For
> 
> a= 6
> b= a
> 
> the test
> 
> a is b
> 
> should clearly return true.

Since Python promises not to make a copy of a when you execute "b = a", 
then I think that such behaviour is guaranteed by the language.


> Python distinguishes what mathematics does
> not, between identity and equality. Clearly 5+4 and 6+3 - evaluate- to
> the same, but math doesn't define whether they are the same, and in some
> sense the question isn't asked ordinarily, or isn't debated.  I want to
> infer that math doesn't define the 'is' relation as Python knows it.

Mathematicians often *define* equality as identity. That certainly makes 
sense when dealing with numbers -- what would it mean to say that there 
are (say) three different instances of the abstract integer 42, all equal 
yet not identical? I suggest that this simply doesn't make sense -- it is 
"not even wrong".

Equality-as-identity may not hold in all areas of mathematics, but I 
think it is safe to say it holds for ideal (abstract) numbers, as opposed 
to implementations of numbers as bit patterns or objects in memory.

http://en.wikipedia.org/wiki/Equality_(mathematics)



-- 
Steven



More information about the Python-list mailing list