Variables vs names

Ben Finney ben+python at
Sat Aug 25 07:24:29 CEST 2012

Steven D'Aprano <steve+comp.lang.python at> writes:

> On Thu, 23 Aug 2012 14:22:08 -0500, Evan Driscoll wrote:
> > In [the hypothetical language] Python--, any time you use a name,
> > you have to prefix it with the word 'variable':
> >   variable x = 4
> >   print(variable x)
> > 
> > Does Python-- have variables? 
> Of course, because that's what Python-- calls them. Whether Python--
> is *justified* in calling them variables is a more interesting
> question.

How many legs does a horse have, if you call the tail a leg?

Four. Calling the tail a leg doesn't make it so.

Similarly, I don't care that Python-- uses the term “variable”, it only
has variables if it has things which meet a sensible definition of
“variable”. So no, “because that's what Python-- calls them” is not

> I think it is, in the sense that name bindings are a kind of variable,
> and fixed memory locations are a different kind of variable. But I
> also think that it isn't, for exactly the reasons why I prefer to
> describe Python (without the minuses) as having name bindings rather
> than variables "in the C or Pascal sense".

To emphasise what may not be apparent to some newcomers, Steven and I
are virtually in exact agreement here. We talk more about where we
differ because that's what interests us :-)

 \              “In the long run, the utility of all non-Free software |
  `\      approaches zero. All non-Free software is a dead end.” —Mark |
_o__)                                                    Pilgrim, 2006 |
Ben Finney

More information about the Python-list mailing list