Finding the instance reference of an object

Joe Strout joe at strout.net
Mon Nov 3 17:27:01 EST 2008


On Nov 3, 2008, at 2:36 PM, Aaron Brady wrote:

>> Then please write the Python equivalent of the "Swap" methods shown  
>> at
>> <http://www.strout.net/info/coding/valref/> (or at <http://javadude.com/articles/passbyvalue.htm 
>> >, for that matter).
>>
>> And no fair wrapping the two parameters up in an object or using  
>> tuple
>> packing/unpacking -- the point is to demonstrate that you can change
>> the two parameters themselves, not some object that contains them or
>> return them a different order.
>
> Python can do the swap operation on mutable types, for example.

That's in the "no fair" category.  C can do a swap operation on  
mutable types, too, though it also has only pass-by-value.  Same for  
Java, or for REALbasic or VB.NET using "ByVal" mode.  The fact that  
you can mutate mutable types has absolutely nothing to do with whether  
the parameter was passed by reference or value.  If was by reference,  
you can change it (the parameter itself, not something the parameter  
may refer to).  If it's by value, you can't.

In Python, you can't.  That's because parameters are passed by value.

> By-Value and By-Reference are not the only passing methods.  True or
> False?

True, but the others are rarely used and don't apply to any of the  
languages we've been discussing.

Best,
- Joe




More information about the Python-list mailing list