Earl Eiland wrote:
module.py
        def A():
                test = 1
                for x in range(10): B()
        
        def B():
                test = test + 1


main.py import module module.A()

This will fail, unless test is passed and returned.

(Sorry if this sent twice. It wasn't appearing for me the first time.)

You can use global here, though I wouldn't advise it.

---------- module.py ----------
def A():
    global test
    test = 1
    for x in range(10):
        B()
def B():
    global test
    test = test + 1
-------------------------------

py> import module
py> module.A()
py> module.test
11

This looks like it might be simpler with a class, e.g.:

---------- module.py ----------
class A(object):
    def __init__(self):
        self.test = 1
        for x in range(10):
            self.B()
    def B(self):
        self.test += 1
-------------------------------

py> import module
py> a = module.A()
py> a.test
11

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

Reply via email to