Explanation of list reference
On 2/16/14 5:54 PM, Gregory Ewing wrote:
> Chris Angelico wrote:
>> Because everything in Python is an object, and objects always are
>> handled by their references.
> <beginner_thought> So, we have objects... and we have
> references to objects... but everything is an object...
> so does that mean references are objects too?
> This is the kind of trouble you get into when you make
> a statement of the form "everything is an X". When
> we say "everything is an object", we don't literally
> mean everything, only... well, those things that *are*
> objects. Which doesn't really help the beginner much.
>  Mathematicians tried this. "Everything is a set!"
> Yeah, right...
The correct statement is "all values are objects", or "all data is
objects". When people mistakenly say "everything is an object", they
are implicitly only thinking about data.
That said, "all data is objects" is really mostly useful in contrast to
other languages where some data is objects and some is not.
I think Ben Finney's point from nearby in this thread is spot on:
there's a huge difference between a beginning programmer and an
experienced programmer new to Python. The latter category is sometimes
the harder to teach, because you have to undo the things they learned
about their earlier language X, but which they mistakenly believe to be
true about all programming languages.
Ned Batchelder, http://nedbatchelder.com