Steven D'Aprano wrote:
Using "call by value" to mean "pass a copy of a reference to the value" is an abuse of terminology, because that's exactly what happens in call by reference: a copy of the reference to the value is passed.
No, it's not a reference to a value, it's a reference to a *variable* (what C calls an lvalue). There is no such thing as a reference to an lvalue in Python. The presence of the word "reference" in "call by reference" is another nasty terminology collision, because it has nothing to do with what's called a "reference" in Python. The historical choice of terms is somewhat unfortunate. If they'd been called something like "call by assignment" and "call by alias", none of this confusion would have arisen. -- Greg -- http://mail.python.org/mailman/listinfo/python-list