On 21/12/17 19:06, John Ladasky wrote:
> On Thursday, December 21, 2017 at 7:37:39 AM UTC-8, MRAB wrote:
> 
>> Python never makes a copy unless you ask it to.
>>
>> What x1=X does is make the name x1 refer to the same object that X 
>> refers to. No copying.
> 
> Well, except with very simple, mutable data types like scalars... compare 
> this:
> 
>>>> x=5
>>>> y=x
>>>> x,y
> (5, 5)
>>>> x+=1
>>>> x,y
> (6, 5)
> 
> To this:
> 
>>>> a=[1,2,3]
>>>> b=a
>>>> a,b
> ([1, 2, 3], [1, 2, 3])
>>>> a[1]=9
>>>> a,b
> ([1, 9, 3], [1, 9, 3])
> 

Except ints aren't mutable and there's still no copying.

For

x += 1

(where x is e.g. an int) read

x = x + 1

Duncan
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to