Everything is an object in python - object class and type class
Terry Reedy
tjreedy at udel.edu
Wed Jun 3 13:17:49 EDT 2015
On 6/3/2015 12:00 PM, BartC wrote:
> That's a different matter. However, you appear to be wrong.
>
> print (-12 is -12)
>
> gives True. As does ("abc" is "abc"). I assume constructions for
> immutable values will do the same (([10,20,30] is [10,20,30]) gives
> False because the constructs are mutable, although it's difficult to see
> how in that form).
>
> (This is on 2.7, 3.1 and PyPy. On 3.4.3, (-12 is -12) gives False as you
> say, although (12 is 12) gives True, so not even Python can make up its
> mind how it's supposed to work!)
Implementation details not specified in the language definition are just
that -- implementation details. The 'is' operator. which is carefully
defined in the reference, has three uses:
1. test whether an object is None, or some other specific, special object.
2. for implementation developers, test whether the implementation
details, including optimizations, are as intended.
3. (least important, and often leading to confusion when people make
assumptions and extrapolate limited results) for users, discover
implementation details.
--
Terry Jan Reedy
More information about the Python-list
mailing list