let me simplify my question on scope of vars

Pyenos pyenos at pyenos.org
Fri Dec 22 20:24:56 EST 2006


Pyenos <pyenos at pyenos.org> writes:

> Pyenos <pyenos at pyenos.org> writes:
> 
> i will try to answer my own questions(pls verify):
> 
> > "code"
> > var=1
> > class CLASS:
> >         def METHOD1:
> >                 def METHOD2:
> >                         var+=var
> >                 return var
> >                 METHOD2()       #line8                   
> >         return var                            
> > METHOD1()                       #line10
> > "end code"
> > 
> > Q1: does class CLASS inherit var=0 from line1?
> yes.
> > Q2: does def METHOD1 inherit var=0 from line1?
> no.
> > Q3: does def METHOD2 inherit var=0 from line1?
> no.
> > Q3: does line8 return '2'?
> no. will get unreferenced var error.
> > Q4: does line10 return '2\n2'?
> no. will get unreferenced var error.

Now I know that Q1 is also no, since var=1 from line 2 is a global
variable and I have not declared it as global inside def METHOD2. so
var within def METHOD2 is a different variable to the global variable var.



More information about the Python-list mailing list