On Nov 12, 4:05 pm, Fredrik Lundh <[EMAIL PROTECTED]> wrote: > greg wrote: > >> It's not only misleading, it's also a seriously flawed reading of the > >> original text - the Algol 60 report explicitly talks about assignment > >> of *values*. > > > Do you agree that an expression in Python has a value? > > > Do you agree that it makes sense to talk about assigning > > that value to something? > > Python's definition of the word "value" can be found in the language > reference: > > http://docs.python.org/reference/datamodel.html#objects-values-and-types
Quoting the relevant part: "The value of some objects can change. Objects whose value can change are said to be mutable; objects whose value is unchangeable once they are created are called immutable." Strictly speaking that's not a definition; it doesn't say what a value is, only how it relates to objects. But regardless, according to this, a Python value is what the rest of the world usually calls "state", while a value in a non-Python context is usually a synonym of "object" (in the general sense, e.g. for Java including both primitives and object references), i.e. there's the following approximate mapping in terminology: Python jargon Non-python jargon =========================== object value (primitive or composite) value state (set of an object's attribute bindings) Thus both call-by-value and call-by-object can be correct descriptions, depending on who you ask. George -- http://mail.python.org/mailman/listinfo/python-list