A question on modification of a list via a function invocation

Rick Johnson rantingrickjohnson at gmail.com
Sat Aug 19 10:51:23 EDT 2017


Steve D'Aprano wrote: 
> I'm not sure that the VIN defines the vehicle exactly... I
> wouldn't want to try driving a VIN without the rest of the
> vehicle. The mileage is terrible... Quoting Fredrik Lundh:
> well, I guess you can, in theory, value an artificial
> number assigned to an object as much as the object itself.
> "Joe, I think our son might be lost in the woods" "Don't
> worry, I have his social security number"

While i'll admit your story is quite funny, it's not
relevant to my example.

> but putting that aside, your car analogy glosses over a
> genuine paradox here. Consider that in my family, one of
> our most precious heirlooms is the axe of my great-great-
> great grandfather, which we have passed down from eldest
> son to eldest son for generations.  The axe is now almost
> 200 years old. Of course, occasionally the handle has
> broken and we've had to replace it, and from time to time
> the axe head itself was so worn out that it had to be
> replaced, but apart from those repairs the axe is the same
> one that my great-great-great grandfather used almost two
> centuries ago.

No it isn't.

You're conflating the "history of the axe" with the
"physical axe" itself -- two distinct and unrelatable
concepts -- one tangible, and one not.

Generally, an axe consists of a handle and a blade, and if
you replace the blade and the handle, you have a whole new
axe. The axe you _now_ hold is merely a symbolic
representation of the physical object that your great-great-
great... deep breath... grandpappy held in his hand many
centuries ago, and neither love nor nostalgia can overcome
the reality that your axe, and the axe of your, urm,
"distant relative", is not the same object anymore.

Unfortunately, while my "car example" did correctly mirror
many of the aspects of Python lists, i admit it was clumsily
of me to conflate "components" with "contents". And although
components can be added and removed (like contents), the
adding and removing of these components do affect the
overall "identity" of the car object, in a way that say,
groceries in the back seat or passengers would not. So for
that reason, it fails. 

With that in mind, a "basket full of apples" would be a
better representation of lists, as the basket is not defined
by its content. For instance, apples can be added, or taken
away, or even oranges can be placed inside, but it will
always be a unique basket. A unique object.

And how the basket is referenced, in this reguard, is
inconsequential. And whether we choose to uniquely identify
the basket by say, placing a serial number on it or giving
it a friendly name like: "Mr. Weaves", it will always be a
unique object, regardless of content.




More information about the Python-list mailing list