Variables

Richard Blackwood richardblackwood at cloudthunder.com
Sun Apr 24 00:11:07 EDT 2005


Mike Meyer wrote:

>Richard Blackwood <richardblackwood at cloudthunder.com> writes:
>
>  
>
>>Robert Kern 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. If you guys can define for
>>>>me what a variable is and what qualifications you have to back you,
>>>>I can pass this along to, hopefully, convince him that foo is
>>>>indeed a variable.
>>>>        
>>>>
>>>None of us can do that unless you tell us what he thinks the word
>>>"variable" means. The terminology is a bit fluid. I suspect that
>>>your friend applying a somewhat restricted notion of "variable" that
>>>coincides with the behavior of variables in some other language.
>>>
>>>      
>>>
>>Indeed, this language is math. My friend says that foo is a constant
>>and necessarily not a variable. If I had written foo = raw_input(), he
>>would say that foo is a variable. 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.
>>    
>>
>
>Wrong on two counts.
>
>First, new disciplines often redefine words to mean something
>different than the disciplines they were derived from. Variable is a
>good example of that. In math, a variable is a placeholder in an (a
>system of) equation(s), and will have associated with it a (possibly
>empty) set of values that satisfy the equation(s). 
>
Not merely a placeholder, right? A variable in math is a 'placeholder' 
for a dynamic value, one which can or does change. If one can graph the 
movement (change) of foo, foo is a variable within that scope. For example:

foo = 5
foo = 6

I can graph foo's movement/change. It can thus be considered a variable 
within mathematics. If I write:

foo = 5

I can graph this but it will merely be a static point, a constant. 
Constants are not variables because they do not change, they do not 
"vary" in content.

>In programming, a
>variable holds a value of some kind. As you point out, the value may
>be complicated, in that it holds one or more objects.
>  
>
Indeed.

>In math, if you say "foo = 5", foo is a variable, with a single value
>(5) that satisfies the equation. In Python, if you say "foo = 5", foo
>is a variable, that currently references the value 5.
>  
>
He would argue strongly against your notion of variable. In the 
statement "foo = 5", foo is constant. He would thus argue that foo is a 
constant and not a variable (regardless of whether you change foo's 
value in subsequent statements).

>...
>
>        <mike
>  
>




More information about the Python-list mailing list