Cecilia Alm wrote:
> Why does the identity operator return "True" in the below cases, that is 
> when assigning  the same value to basic variable types (float, integer, 
> string, bool..)? Are these rcopied by reference (shallow)? If so why?

Assignment in Python is always by reference. Variables in Python are not 
containers for values, they are names for values. See
http://effbot.org/zone/python-objects.htm

In general it is a bad idea to use 'is'; for several reasons it can 
yield surprising results. == is usually a better choice. One exception 
is when comparing to a known singleton object, for example
   if a is None:
is a good way to test for None.

Kent

> 
>  >>> i = 10
>  >>> j = 10
>  >>> i is j
> True
> 
> 
>  >>> a = 10
>  >>> b = a
>  >>> a is b
> True
> 
> Thanks!
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Tutor maillist  -  Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor


_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to