One way to to this is by using keyword args:

class a:
    def __init__(self, arg1, arg2, **kwargs):
        #
        # Dictionary kwargs will have keyword, value pairs
        # that can be used as global space.
        #
        self.arg1=arg1
        self.arg2=arg2
        self.__dict__.update(kwargs)
        return

class b:
    def __init__(self, arg1, arg2, **kwargs):
        #
        # Dictionary kwargs will have keyword, value pairs
        # that can be used as global space.
        #
        self.__dict__.update(kwargs)
        self.a=a(arg1, arg2, **kwargs)
        return

class c:
    def __init__(self, arg1, arg2, **kwargs):
        #
        # Dictionary kwargs will have keyword, value pairs
        # that can be used as global space.
        #
        self.__dict__.update(kwargs)
        self.b=b(arg1, arg2, **kwargs)
        return

globals={'global1':1, 'global2':2, 'global3':3, 'global4':4}
C=c(1, 2, **globals)

you will have global1, global2, global3, and global4 attributs
in all classes.  If you don't want the attributes, just access
to the values, delete the self.__dict__.update(kwargs) lines.

Larry Bates

alex wrote:
Hi,

is it possible to create 'global' variables that can be seen in all
other classes?

Alex

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

Reply via email to