Declaring A Function Argument As Global?
Tim Daneliuk
tundra at tundraware.com
Thu Jan 16 14:30:07 EST 2003
Skip Montanaro wrote:
> >> def lhandler(list):
> >> list[:] = list[1:]
>
> Tim> 'Works like a charm. But why?
>
> list[:] on the left-hand side of an assignment assigns to the entire list.
> It's effectively
>
> list[0:len(list)] = rhs
The slicing part I understand well. What I do not grasp is why using
this construct on the lhs gives you access to the actual list
in question, but list = list[1:] refers to the local variable (formal
parameter) 'list'. It is the semantics of scope that is confusing me
here, not the list operation...
Thanks,
------------------------------------------------------------------------------
Tim Daneliuk
tundra at tundraware.com
More information about the Python-list
mailing list