Passing by value instead of reference
Quinn Dunkan
quinn at riyal.ugcs.caltech.edu
Sat May 13 11:07:51 EDT 2000
More information about the Python-list mailing list
Sat May 13 11:07:51 EDT 2000
- Previous message (by thread): ASP Performance
- Next message (by thread): Passing by value instead of reference
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wed, 10 May 2000 13:33:52 -0600, Jeff Massung <jmassung at magpiesystems.com> wrote: >Sorry, I don't ;) - I was thinking like this (I understand how my previous >example was wrong). > >>>> def test(x): > x.append(3) >>>> z = [1,2] >>>> test(z) >>>> z >[1, 2, 3] >>>> > >How can I get x to have the value of z, modify it, and use the modified >value, without z being modified overall? Thanks, guys ;) Make a copy: def test(x): x_copy = x[:] x_copy.append(3) print x_copy z = [1, 2] test(z) Although usually I'd write a function to operate on its args in place, and the caller can pass a copy if that's what he wants. Actualy, usually I write a method which naturally operates on its self in-place :) Also see the `copy' module for deep copies.
- Previous message (by thread): ASP Performance
- Next message (by thread): Passing by value instead of reference
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list