Why do directly imported variables behave differently than those attached to imported module?
harrismh777
harrismh777 at charter.net
Tue May 3 13:24:43 EDT 2011
Dun Peal wrote:
> # module foo.py
> var = 0
>
> def set():
> global var
> var = 1
My two cents to add in addition to the correct accounts of [ Daniel,
Chris, Mel] is that you might have a misunderstanding of var, generally.
Python has no variables--- in the way you think of them in other
languages. Python only has references.
Var is not 'set' in the classical sense of the word...
var is a 'reference' (think C pointer, sort-of) to an object... '0'
and '1' are objects of type int and
var=0 means create a reference to object int('0') called var.
a=b=0 a is a reference to object '0'
b is a reference to object '0'
a does not reference b
This rest of the discussion has to do with name spaces:
See:
http://docs.python.org/release/3.0.1/reference/datamodel.html?highlight=namespaces
More information about the Python-list
mailing list