On 5/6/14 6:46 PM, Chris Angelico wrote:

 Is there really a fundamental
difference between languages in which that is equally valid syntax and
does exactly the same thing?

No. And from that standpoint, python has variables. I know, because I thought about python's 'variables' as variables for quite sometime before I learned about the 'beautiful heart of python'. AND I used them as variables too, ignorantly of course.

And we must never forget that CPython's underpinnings, uhm C, uses variables, C ones... (never mind)

Here is the rub. What happens when a newbie (me, some some years ago) gets a strange 'surprise' when trying to use python's variables:

Given that A is bound to 3.5, and B is also bound to another object 3.5:

A == B
True

A is B
False

... and now they want to know why if A == 3.5 and B == 3.5 does (A is B) come up False?

This is just one of a dozen 'different' kinds of examples. And the answer is the same, Python does not have variables, Python has names bound to objects.

The cleanest clearest explanation of Python's (name-->object) model is 'the beautiful heart of python' in Mark Summerfield's Programming Python 3.

I think we should STOP saying that python does not have variables (like that horse hasn't been beaten before, to death) but instead explain Python's beautiful heart. uhm, "What you have been using in ignorance as a simple variable is, uhm, a 'name' bound to an object... and these are its strange properties:
   ... enumerated...


marcus

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to