reference or pointer to some object?
Antoon Pardon
apardon at forel.vub.ac.be
Thu Jan 13 04:42:51 EST 2005
Op 2005-01-12, Jeff Shannon schreef <jeff at ccvcorp.com>:
> Torsten Mohr wrote:
>
>> I still wonder why a concept like "references" was not
>> implemented in Python. I think it is (even if small)
>> an overhead to wrap an object in a list or a dictionary.
>
> Because Python uses a fundamentally different concept for variable
> names than C/C++/Java (and most other static languages). In those
> languages, variables can be passed by value or by reference; neither
> term really applies in Python. (Or, if you prefer, Python always
> passes by value, but those values *are* references.)
I would think the reference was the id. As such python always
passes by reference, as the id of the parameter is the id
of the argument.
> Python doesn't
> have lvalues that contain rvalues; Python has names that are bound to
> objects. Passing a parameter just binds a new name (in the called
> function's namespace) to the same object.
>
> It's also rather less necessary to use references in Python than it is
> in C et. al.
You use nothing but references in Python, that is the reason why
if you assign a mutable to a new name and modify the object through
either name, you see the change through both names.
--
Antoon Pardon
More information about the Python-list
mailing list