A question on modification of a list via a function invocation

Gregory Ewing greg.ewing at canterbury.ac.nz
Tue Sep 5 09:11:37 EDT 2017


Steve D'Aprano wrote:
> The third entity is the reference linking the name to the object (the arrow).
> This isn't a runtime value in Python, nor is it a compile time entity that
> exists in source code. It is pure implementation, and as such, exists outside
> of the Python domain.

The fact that there is a connection between the name and the
object is very much part of Python's abstract semantics.

There are different ways to implement that connection, but
*any* implementation of Python has to include *some*
representation of it.

There are also different words that can be used to describe
it. You can say that names are bound to objects, or that
names refer to objects, or that names hold references to
objects. These are all equally good ways of talking about
the exact same abstract concept.

To me this argument about whether Python has references
or not is like an American person saying that cars have
hoods, and a British person saying he's wrong, hoods
are an implementation detail and cars actually have
bonnets instead.

-- 
Greg



More information about the Python-list mailing list