On Tue, 22 Jul 2014 12:34:51 -0700 (PDT), fl <rxjw...@gmail.com> wrote:
[snip]
>
> But I don't understand the reassign function result:
>
>>>> def reassign(list):
> ...   list=[0,1]
> ... 
>>>> list=[0]
>>>> reassign(list)
>>>> print list
> [0]

When you say "def reassign(list)", that means "I'm defining a function
to which the caller will pass one object, and within this function I'm
going to refer to that object by the name 'list'."

Then, when you say "list=[0,1]", that means "Create the object [0,1],
and assign to it the name 'list'."  At this point, there is no longer
any name that refers to the object that the caller passed.

You might have thought that "list=[0,1]" would modify the caller-passed
object, but that's not what happens.  That's not what "=" means.

-- 
To email me, substitute nowhere->spamcop, invalid->net.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to