What is a function parameter =[] for?

Steven D'Aprano steve at pearwood.info
Tue Nov 24 19:39:54 EST 2015


On Wed, 25 Nov 2015 01:18 am, Ned Batchelder wrote:

> In English, "value" means something like, what is this equal to? 
> There isn't another good word to use in place of "value" here.

There are many different meanings for the English noun "value" (Websters
1913 dictionary includes ten), but I think that the only one that is
relevant is:

"Any particular quantitative determination".

although since we're not just talking about numbers even that needs to be
modified to allow qualitative as well as quantitative determination. E.g.
the value of a particular str object is the string "foobarbaz".


> 2) In Python, "value" means, what object does a name refer to, or what
> object did an evaluation produce.

I don't think that is correct.

The Docs clearly say that "value" is an attribute or quality of objects, not
a synonym for "object":

Quote: "Every object has an identity, a type and a value."

https://docs.python.org/2/reference/datamodel.html#objects-values-and-types

If the docs are a bit inconsistent in ensuring that "value" means something
that objects *have* rather than something that objects *are*, that may be
something to fix.



> The confusion over mutable default arguments arises because the
> defaulted argument always gets the same referent, but it might not
> always be the same evalue.


I'm not sure what value [ha, see what I did there?!] there is in inventing
two new words for things that we already have standard terms for.

"Referent" is just a funny way of saying "object", and "evalue" is just a
misspelling of "value".




-- 
Steven




More information about the Python-list mailing list