non-owning references?

Piet van Oostrum piet at
Fri Jul 24 17:03:58 CEST 2009

>>>>> "Rhodri James" <rhodri at> (RJ) wrote:

>RJ> On Fri, 24 Jul 2009 14:55:45 +0100, Hrvoje Niksic <hniksic at>  wrote:
>>> Ben Finney <ben+python at> writes:
>>>> Utpal Sarkar <doetoe at> writes:
>>>>> Is there a way I can tell a variable that the object it is pointing
>>>>> too is not owned by it, in the sense that if it is the only reference
>>>>> to the object it can be garbage collected?
>>>> Python doesn't have “pointers”, and doesn't really have “variables”
>>>> either, at least not how many other languages use that term.
>>> The OP didn't use the term "pointer", but the word "pointing", which
>>> makes sense in the context.  The term "variable" is used in the Python
>>> language reference and elsewhere, and is quite compatible with how other
>>> popular languages (Java, PHP, Lisp, ...) use it.

>RJ> Only superficially.  Treating Python variables the same as C variables
>RJ> (say) is one of the classic ways that newbies come unstuck when mutable
>RJ> objects appear on the scene.  While the OP appears to have the right idea,
>RJ> your "correction" here could be quite misleading.

If you read the OP, it is clear that he talked about a class variable,
which is a perfectly legal notion in Python, and is mentioned as such in
the language reference manual:
`Variables defined in the class definition are class variables'

And who was talking about C variables?
Piet van Oostrum <piet at>
URL: [PGP 8DAE142BE17999C4]
Private email: piet at

More information about the Python-list mailing list