danielx wrote: > Bruno Desthuilliers wrote: > (snip) >> >>>Surprising for me are actually two things: 1- the fact itself, and 2- that >>>term "binding", and that whatever it means > (I'll have to read more on that, >>>now that I know the term) >> >>a "binding" is the association of a name and a reference to an object in >>a given namespace. It's different from the common notion of "variable", >>which is usually a symbolic name for a memory address storing a value >>(like a pointer to an object's address). > > > Wait, I'm not sure I see the difference. Isn't "reference" ~ "C > pointer".
For a very large definition of '~' !-) > Are you saying Python variables don't hold references to > "actual" Python objects? Exactly. > That idea has been working well for me so far. It can only take you so far. Now it's time you know the truth: there are *no* 'variables' in Python (hence the term 'binding'). What you really have is (somewhat simplified, of course) a dict with names as keys and objects references (think of 'smart' pointers) as values. So the name doesn't 'hold' anything - it's really nothing more than a name. And the object doesn't know nothing about which names it's bound to. -- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in '[EMAIL PROTECTED]'.split('@')])" -- http://mail.python.org/mailman/listinfo/python-list