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