On 03/25/2016 06:03 AM, Albert-Jan Roskam wrote:
> Somebody wrote:
>> Somebody else wrote:
I know Python does not have variables, but names.
Multiple names cant then be bound to the same objects.
So this behavior
--> b = 234
--> v = 234
--> b is v
True
according to the above that is ok
But where is the consistency ? if I try :
--> v = 890
--> w = 890
--> v is w
False
It is a little difficult to explain this behavior to a newcommer in Python
Can someone give me the right argument to expose ?
You should not bother with object identity for objects other than None.
No. The correct answer is: if identity is important either ensure the
object you are getting back is a singleton (such as None, True, an Enum
member, etc.) or you assign one name from another name:
--> b = 234
--> v = b
--> b is v
True
--> v = 890
--> w = v
--> v is w
True
If identity is not important, don't use `is`.
A little late to the party, but: how about Ellipsis? Shouldn't "is" also be
used for that one? (It's rare, I know :))
Ellipsis is a singleton, so `is` is fine.
--
~Ethan~
--
https://mail.python.org/mailman/listinfo/python-list