Is 'everything' a refrence or isn't it?
fakeaddress at nowhere.org
Sat Jan 7 12:20:25 CET 2006
Steven D'Aprano wrote:
> On Thu, 05 Jan 2006 05:21:24 +0000, Bryan Olson wrote:
>>Steven D'Aprano wrote:
>>>Mike Meyer wrote:
>>>>Correct. What's stored in a list is a reference.
>>>Nonsense. What is stored in the list is an object.
>>According to the Python Language Reference:
>> Some objects contain references to other objects; these are
>> called containers. Examples of containers are tuples, lists
>> and dictionaries.
> Is it so hard to understand that the word "reference" has a general,
> imprecise meaning in common English (which is clearly how the quote
> above is using the word) while still having in the context of assignment
> and argument passing a more precise meaning which is dangerously
What's pretty easy to understand at this point, is that Mike
was right and you were wrong. "Reference" has a precise meaning
here, it's what the Python language uses, and contrary to your
reporting, it's what the rest of the discipline uses.
> Words are important -- not only for what they mean, but for what the
> connotations they carry. For people who come to Python from C-like
> languages, the word "reference" means something that is just not true in
> the context of Python's behaviour.
Wrong. C does not have references, and the Python use is consistent
with the rest of computer science. You seem to have read in things
that it does not mean. Fix *your* thinking.
That's why people come to Python with a
> frame that tells that what call by reference implies ("I can do this...")
> and then they discover that they often *can't* do that.
I'm sorry if you got confused, but please don't project it on
the rest of the discipline. C does not have even references.
> Thinking about Python's behaviour ("it always passes references to
Just fix your thinking and don't attribute these problems to
> If we were writing academic papers, we could define "call by reference"
> and "objects contain references" any way we liked,
That would be a terrible thing to do. Just learn to use the
meaning accepted in the discipline, and used in the Python doc.
More information about the Python-list