Variables

Robert Kern rkern at ucsd.edu
Sat Apr 23 23:50:53 EDT 2005


Richard Blackwood wrote:
> Kent Johnson wrote:
> 
>> Richard Blackwood wrote:
>>
>>>>> To All:
>>>>>
>>>>>    Folks, I need your help. I have a friend who claims that if I 
>>>>> write:
>>>>>
>>>>> foo = 5
>>>>>
>>>>> then foo is NOT a variable, necessarily. 
>>>>
>>>>
>>>>
>>> Indeed, this language is math. My friend says that foo is a constant 
>>> and necessarily not a variable. 
>>
>>
>>
>> Well, we mostly talk Python here, not math. In Python, if you say
>> foo = 5
>> foo is a name bound to an immutable value.
>>
>> If I had written foo = raw_input(), he would
>>
>>> say that foo is a variable. 
>>
>>
>>
>> That's funny. foo is still a name bound to an immutable (string) 
>> value. foo is no more or less variable than it was with foo = 5.
>>
>> Which is perfectly fine except that he
>>
>>> insists that since programming came from math, the concept of 
>>> variable is necessarily the identical. This can not be true. For 
>>> example, I may define foo as being a dictionary, but I can not do 
>>> this within math because there is no concept of dictionaries within 
>>> mathematics; yet foo is a variable, a name bound to a value which can 
>>> change.
>>
>>
>>
>> Sounds like you are having a stupid and meaningless argument with your 
>> friend. What you call foo won't change what it is. He should learn 
>> Python, then he would understand the true zen of foo.
> 
> 
> That is exactly how I feel about it. Foo is what it is. Variable, name 
> bound to immutable value, etc., what we call it doesn't really change 
> how I program, only how I communicate with other programmers (and 
> mathematicians). Is the notion of variable not a fundamental concept in 
> programming?  Surely there must be an unambiguous definition I can relay 
> to him.

Why should there be? Different programming languages have different 
models. In C, a variable corresponds to a memory slot. In Python, it's a 
just a name that can be bound to an object.

If you must, http://en.wikipedia.org/wiki/Variable

-- 
Robert Kern
rkern at ucsd.edu

"In the fields of hell where the grass grows high
  Are the graves of dreams allowed to die."
   -- Richard Harter




More information about the Python-list mailing list