Finding the instance reference of an object

Steven D'Aprano steve at REMOVE-THIS-cybersource.com.au
Fri Oct 31 04:18:18 EDT 2008


On Fri, 31 Oct 2008 20:15:30 +1300, greg wrote:

> Dale Roberts wrote:
> 
>> Just as the Pass By Reference idiom deserves a unique name to
>> distinguish it from Pass By Value (even though it is often Pass By
>> (address) Value internally), so Pass By Object Reference deserves a
>> unique name (even though it too is Pass By (reference) Value
>> internally).
> 
> Since Python only has one parameter passing mechanism, there's no need
> to give it a name at all. If you're having to explain it, just explain
> it, and don't bother naming it!

This would make sense if Python was the only computer language in 
existence, but it isn't. Consequently people who know these other 
languages come along and ask "So is Python call by value or call by 
reference?".

The correct answer to that is "No", but unfortunately there are far too 
many people who refuse to accept the existence of any third parameter 
passing mechanism and therefore confuse the issue by hammering the round 
peg of Python's calling mechanism into the square hole of their pre-
conceptions. Depending on those particular pre-conceptions, they will 
insist that Python "clearly and obviously is call by reference", or that 
it is "clearly and obviously call by value, where the values are 
references".


-- 
Steven



More information about the Python-list mailing list