Random832 <random...@fastmail.com> writes: > Ben Finney <ben+pyt...@benfinney.id.au> writes: > > With the significant difference that “pointer” implies that it has its > > own value accessible directly by the running program, such as a pointer > > in C. > > Its own value *is* what you're accessing when you assign or return it.
You're not describing Python references. But I don't know what you are describing with all those “it”s — what language, what behaviour, what concept? Can you clarify what you mean, and what in my description you are disagreeing with? > > That's different from a “reference”, which to my understanding > > implies the running program does *not* normally have direct access > > to it as a distinct value. The only way you can use a reference is > > to get at the object to which it refers. > > In C++, references cannot be reassigned. I consider *that* the > fundamental difference - a pointer is a variable that you can reassign > and return; a reference always refers to the same object once created. Sure, that will work fine. So in Python, we don't have pointers because we don't have access to change or reassign them. A Python reference isn't accessible and can't be changed; you can just make another reference and switch to that. You can't, for example, keep the old reference (there are no references to references in Python), because they're not accessible as values in themselves. Once you assign a different reference, the old one is gone and can't be found again. -- \ “[T]he great menace to progress is not ignorance but the | `\ illusion of knowledge.” —Daniel J. Boorstin, historian, | _o__) 1914–2004 | Ben Finney -- https://mail.python.org/mailman/listinfo/python-list