Is 'everything' a refrence or isn't it?

Donn Cave donn at
Thu Jan 5 07:10:26 CET 2006

Quoth Steven D'Aprano <steve at>:
| Mike Meyer wrote:
[... dragging out his own terminology hangup ]
|> Except this doesn't have *anything at all* to do with python being (or
|> not being) call by reference. This is a confusion about name binding
|> vs. assignment to a variable. The proper people to slap around for
|> this case are the ones who talk about assignment to a variable.
| Mike, you are wrong. Not about talk about "assigning to 
| variables" being harmful, I agree with that. But this 
| confusion is *exactly* about the call by reference 
| misunderstanding. How do I know this?
| Because the Original Poster said so! He said, to 
| paraphrase, "Hey, I thought Python was call by 
| reference, but I tried this, and it didn't work, what 
| gives???"

But he really did not SAY "call by reference"!  The actual quote:
"I was under the assumption that everything in python was a refrence..."
"(After reading that 'everything' is a refrence.)"

Just give it up.  And you too, Mike!  "variable" is the commonplace
term for the things we fling around in our programs, and you have to
accept that we will use that word whether we're talking about Python,
Java, C or what have you.  Of course the semantics of variables - how
they actually relate to values - may be radically different from one
language to another, but it universally plays essentially the same role
in programming (or mathematics), a thing whose value may vary according
to the logic of the program.

C and FORTRAN don't own this word, and it isn't just their version
against the way Python and some other languages do it.  Each language
has its own angle on it, and they're all going to be called variables.

	Donn Cave, donn at

More information about the Python-list mailing list