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