Marcus Low wrote:
Opps here is the mail again, incase my formatting is lost, can someone explain to me why this code behaves differently when "lister" and "self.lister" is swap remarked.


class abc :
   # remark this later and unremark "self.lister"
   lister = []
   def __init__ (self, val):
       #self.lister = []
self.lister.append(val) globallist = [] def test () :

   global l
   for x in range(10) :
o = abc(x) globallist.append(o) o = ""
         for i in globallist :
print i.lister test()
--
http://mail.python.org/mailman/listinfo/python-list

It's a Python scoping rule:

   If a variable is assigned to anywhere within a function,
   it is assumed to be local *everywhere* within that function.

See the faq for more:
http://www.python.org/doc/faq/programming/#what-are-the-rules-for-local-and-global-variables-in-python

Gary Herron

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to